Hao*_*est 37 c# linq aggregate
这可能是我错过的傻事,但我尝试连接整数列表而不是用以下内容求和:
integerArray.Aggregate((accumulator, piece) => accumulator+"," + piece)
Run Code Online (Sandbox Code Playgroud)
编译器抱怨参数错误.是否有一个光滑的方式来做到这一点,而不必经过一个循环?
Mar*_*ell 67
哪个版本的.NET?在4.0中你可以使用string.Join(",",integerArray).在3.5我会想要使用string.Join(",",Array.ConvertAll(integerArray,i=>i.ToString()));(假设它是一个数组).否则,要么将其设为数组,要么使用StringBuilder.
48k*_*ocs 16
您可能想要使用String.Join.
string.Join(",", integerArray.Select(i => i.ToString()).ToArray());
Run Code Online (Sandbox Code Playgroud)
如果您使用的是.Net 4.0,则无需经历重新启动数组的麻烦.而且可以做到
string.Join(",", integerArray);
Run Code Online (Sandbox Code Playgroud)
Sam*_*uel 15
您得到的错误是因为您没有使用覆盖Aggregate,您可以指定种子.如果未指定种子,则使用集合的类型.
integerArray.Aggregate("", (accumulator, piece) => accumulator + "," + piece);
Run Code Online (Sandbox Code Playgroud)
只是为了添加 @Marc 的另一种选择
var list = string.Join( ",", integerArray.Select( i => i.ToString() ).ToArray() );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32610 次 |
| 最近记录: |