一个n
-by-2 数组允许这种初始化语法:
string[,] z = { { "a", "b" }, { "c", "d" }, { "z", "w" }, };
在这种情况下,尺寸为 3×2。
如果您更喜欢数组数组string[][]
,则语法会更笨拙。某些行可能意外(或有意)具有与其他行不同的长度(“锯齿状”数组)。数组数组可能更容易Array.Sort
在“外部”数组上使用,使用 some IComparer<string[]>
or进行排序Comparison<string[]>
。
否则,使用SortedDictionary<string, string>
或SortedList<string, string>
已在评论中建议spender
:
var z = new SortedDictionary<string, string> { { "a", "b" }, { "c", "d" }, { "z", "w" }, };
任何类型,包括用户定义的类型,只要有一个(可访问的和非静态的)Add
方法,它接受两个字符串,都将允许这种集合初始化器。例如:
var z = new YourType { { "a", "b" }, { "c", "d" }, { "z", "w" }, };
大致相当于:
YourType z;
{
var temp = new YourType();
temp.Add("a", "b");
temp.Add("c", "d");
temp.Add("z", "w");
z = temp;
}
// use variable z here