我有一个列表,下面声明,在开始时默认列表项是{-1, - }。请注意,在整个程序列表尺寸固定为2.NET List最佳方法
List<int> list = new List<int>(new int[] {-1, -1});
我的问题是有关,这将是最好的办法,如果我需要覆盖在列表中的两个值。
int x = GetXValue();
int y = GetYValue();
方法1:
list = new List<int>(new int[] {x, y});
方法2:
list[0] = x;
list[1] = y;
什么会是一个更好的办法?采用第二种方法,即使我确信最初设置了2个值,但我可能会冒着Argument index out of range
例外的风险。但是,第一种方法可能会吃更多的记忆(纠正我,如果我错了!),因为我每次创建一个新的列表。
有没有更简单,和/或更好的解决方案
好的呼叫点。我在想IDictionary会完成相同的。 –
2010-08-13 22:32:00
+1:使用(动态大小)列表会为该类型创建模糊性 - 现在必须依赖注释来指示预期用法。如果一个CLR类型不是一个需要的自定义结构或对象被调用。 – 2010-08-13 22:35:09
+1 - 聪明的主意! – 2010-08-13 23:24:47