使用Linq有一种方法可以对Array中的每个元素执行操作

ojh*_*ins 5 c# linq

如果我有一个阵列

var foo = new int[] { 1,2,3,4,5 };
Run Code Online (Sandbox Code Playgroud)

使用linq我可以对每个元素执行操作而不是像这样做吗?

for (int i = 0; i < foo.Length; i++)
{
    foo[i] = foo[i] / 2; //divide each element by 2
}
Run Code Online (Sandbox Code Playgroud)

Kin*_*ing 6

var foo = new int[] { 1,2,3,4,5 };
foo = foo.Select(x=>x/2).ToArray();
Run Code Online (Sandbox Code Playgroud)

  • @ojhawkins 是的,因为`Select` 方法不会改变源集合。它创造了一个新的。所以你必须把它分配回 `foo`。 (2认同)