繁体   English   中英

如何使用LINQ替换列表中的一系列嵌套值?

[英]How to use LINQ replace a range of nested values in a list?

我可能没有正确说出问题的措辞,因此请为我提供术语方面的帮助。

如果我有一个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循环快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM