是否可以在LINQ中执行这样的操作:
int[] d = new int[c.Length + 1];
int e = 1;
d.ToList().ForEach(r =>
{
r = e;
e++;
});
? 当我这样做时,它返回了我的零序列。 问候。
答案 0 :(得分:4)
是的,它有两个原因:
List<int>
,然后尝试修改List<int>
。那不会修改数组。基本上,LINQ用于查询。不要试图这样做:如果你想修改集合,请使用for
循环。
但是,如果您的目标是生成一个1 ...(c.Length + 1)的数组,只需使用Enumerable.Range
:
var array = Enumerable.Range(1, c.Length + 1).ToArray();