如何在字符串数组上使用Sum - LINQ?

Har*_*9pl 5 c# linq arrays parsing sum

如何用LINQ Sum方法对字符串数组求和?

我有一个字符串,看起来像: "1,2,4,8,16"

我试过了:

string myString = "1,2,4,8,16";
int number = myString.Split(',').Sum((x,y)=> y += int.Parse(x));
Run Code Online (Sandbox Code Playgroud)

但它说不能Parse输入int类型的类型?

我不想使用foreach循环来对这些数字求和.

SLa*_*aks 21

你的话很误Sum().

Sum()采用lambda将单个元素转换为数字:

.Sum(x => int.Parse(x))
Run Code Online (Sandbox Code Playgroud)

或者,更简单地说,

.Sum(int.Parse)
Run Code Online (Sandbox Code Playgroud)

这仅适用于C#编译器的版本4或更高版本(无论平台版本如何)