我可能没有正确措辞这个问题,所以请帮助我命名。
如果我有一个List<Point>
,它具有一组常量的x
值,但具有y
值的可变流。 现在我有:
List<DataPoint> points = new List<DataPoint>();
while(...)
{
double data[] = ...
for (int i = 0; i < data.Length; i++)
points.Add(new DataPoint(i, data[i]));
}
但我觉得应该可以使用 LINQ:
points.Select(y => y.AddRange(data));
我不需要更改x
值。 另外,我问是因为我试图以某种方式提高这个循环的处理性能,所以如果有更快的方法,请启发我。
可以使用
Linq 创建要添加的所有值,然后使用 AddRange
。
var newPoints = data.Select((d,i) => new DataPoint(i, d));
points.AddRange(newPoints);
但请注意,这可能不会比您的for
循环快。