[英]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.