初始化一个空的List
public List<string> objectNames;
objectNames = new List<string>();
我需要在这个List的一些特定的位置存放数据,但是如果是空数组会有IndexError
。
请问如何初始化一个定长的List?
方法一
直接初始化:
public List<string> ls = new List<string>(new string[initial_size]);
方法二
添加一个 helper class:
public static class Lists
{
public static List<T> RepeatedDefault<T>(int count)
{
return Repeated(default(T), count);
}
public static List<T> Repeated<T>(T value, int count)
{
List<T> ret = new List<T>(count);
ret.AddRange(Enumerable.Repeat(value, count));
return ret;
}
}
然后
public List<string> ls = Lists.RepeatedDefault<string>(initial_size);
参考
MSDN
Stack Overflow
为什么不用数组
还不如初始化一个固定长度的数组:
var array = new int[10];
Dictionary<int, string>