这似乎是一件很简单的事情,但我似乎无法找出正确的语法.我目前有这个:
KeyValuePair<string, string>[] kvpArr = new KeyValuePair<string,string>[];
Run Code Online (Sandbox Code Playgroud)
但是,这似乎有效:
KeyValuePair<string, string>[] kvpArr = new KeyValuePair<string,string>[10];
Run Code Online (Sandbox Code Playgroud)
但我最初不知道数组的大小.我知道我可以使用一系列KVP,我可能会这样做,但我只是想知道如何实现这一点.
Jon*_*eet 11
不,你不能这样做 - 因为数组总是有固定的大小.如果不指定大小,开始时,你所期望的大小来使用呢?你要么必须指定自身的大小或内容(它允许推断大小).例如:
int[] x = new int[10]; // Explicit size
int[] y = new int[] { 1, 2, 3, 4, 5 }; // Implicit size
int[] z = { 1, 2, 3, 4, 5 }; // Implicit size and type
Run Code Online (Sandbox Code Playgroud)
List<T> 绝对是您收藏的朋友,你不知道它的大小.
根据定义,数组是固定大小的.您可以在第二个代码示例中指定大小,也可以从初始化中推断出它:
KeyValuePair<string, string>[] kvpArr = new KeyValuePair<string, string>[]
{
new KeyValuePair<string, string>(...),
new KeyValuePair<string, string>(...),
...
}
Run Code Online (Sandbox Code Playgroud)
如果你想要一个可变长度的结构,我建议你使用List<T>.
有关数组的更多信息,请参阅C#编程指南.