如何使用 LINQ 替换列表中的嵌套值范围

本文关键字:嵌套 范围 列表 何使用 LINQ 替换 | 更新日期: 2023-09-27 18:32:53

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

如果我有一个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 替换列表中的嵌套值范围

可以使用

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

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

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