我正在使用VS 2008,我需要知道如何初始化HashSet。我知道在初始化期间添加它需要一些值。如何向tblNames添加值。
System.Collections.Generic.HashSet<String[,]> tblNames;
tblNames = new System.Collections.Generic.HashSet<string[,]>();
tblNames.Add(new String[0,0] {"tblCategory","CatName" ,}); // this is showing Error..
最终目标是防止用户输入重复值。我需要从不同的表格以及不同的表和不同的字段中检查它。我使用动态查询来查询数据库。我需要以一些索引,值,值格式for eg My tablename is tblCategory and field name is CatName
存储表名和列名。所以我将以0,tblCategory,CatName
的方式存储值。所以我将Ajax用于处理程序页面,并且我正在使用上面的代码。我正在传递0
以获取first value[tablename and column name]
,1传递给另一个表和字段,依此类推。所以我想用这种方式。
我是使用正确的方式还是以其他方式实现目标,即阻止用户输入重复值?
谢谢,哈里
答案 0 :(得分:12)
如果您想在一个步骤中使用一组已知值初始化HashSet
,则可以使用类似于以下内容的代码:
HashSet<string[,]> tblNames;
string[,] stringOne = new string[1, 1];
string[,] stringTwo = new string[1, 1];
tblNames = new HashSet<string[,]> { stringOne, stringTwo };
这称为集合初始值设定项。它是在C#3.0中引入的,包括以下元素:
{
和}
标记括起,并以逗号分隔。答案 1 :(得分:4)
我想编写Java代码并假设它与C#
中的相同HashSet<T> tblNames = new HashSet<T>(); // T should be same
HashSet<string> tblNames = new HashSet<string> ();
tblNames.add("a");
tblNames.add("b");
tblNames.add("c");
or simply
HashSet<string> tblNames = new HashSet<string> {"a", "b", "c"};
HashSet<String[,]> tblNames = new HashSet<String[,]> (); // same logic you can add array here
tblNames.add(stringArray1);
tblNames.add(stringArray2);
or again
HashSet<String[,]> tblNames = new HashSet<String[,]> {stringArray1, strginArray2};
答案 2 :(得分:3)
tblNames.Add(new [,] { { "0", "tblAssetCategory" }});
答案 3 :(得分:0)
要在一行中初始化并将值分配给HashSet,我们可以执行以下操作:
var set = new HashSet<string>() { "some value1", "some value2" };
在C#中,可以考虑使用对象初始化程序,可以在MSFT文档中进行了解:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/how-to-initialize-objects-by-using-an-object-initializer