top*_*ard 7 .net c# collections list
我有一个列表,在下面声明,在开始时我将列表项默认为{-1, - }.请注意,在整个计划中,列表大小固定为2.
List<int> list = new List<int>(new int[] {-1, -1});
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我需要覆盖列表中的两个值,那么最好的方法是什么.
int x = GetXValue();
int y = GetYValue();
Run Code Online (Sandbox Code Playgroud)
方法1:
list = new List<int>(new int[] {x, y});
Run Code Online (Sandbox Code Playgroud)
方法2:
list[0] = x;
list[1] = y;
Run Code Online (Sandbox Code Playgroud)
什么是更好的方法?使用第二种方法,即使我确定最初设置了2个值,但我可能会遇到Argument index out of range
异常风险.但是第一种方法可能会占用更多内存(如果我错了,请纠正我!)因为我每次都会创建一个新列表.
是否有更简单和/或更好的解决方案
Jul*_*iet 12
或者是否有更简单,更好的解决方案?
是.由于列表具有固定大小,因此请使用System.Drawing.Point等真实对象:
Point p = new Point(1, -1);
p = new Point(5, 10);
Console.WriteLine("X = {0}, Y = {1}", p.X, p.Y);
Run Code Online (Sandbox Code Playgroud)