0

我可能没有正确地措辞这个问题,所以请帮助我命名。

如果我有一个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值。另外,我问是因为我试图以某种方式提高这个循环的处理性能,所以如果有更快的方法,请赐教。

4

1 回答 1

1

您可以使用 Linq 创建所有要添加的值,然后使用AddRange.

var newPoints = data.Select((d,i) => new DataPoint(i, d));
points.AddRange(newPoints);

但请注意,这可能不会比您的for循环快。

于 2016-02-02T19:22:04.980 回答