我想在Linq(C#)中做一个类似Haskell的快速聚合,将List转换成格式为"i ^ j ^ k ..."等的字符串.
这可能在一个查询中,或者我应该只是做旧的fasioned
foreach (int i in list)
{
string+= i + "^"
}
Run Code Online (Sandbox Code Playgroud)
(ps是的,那是伪代码,不会编译.)
Jon*_*eet 26
用途string.Join:
string.Join("^", list.Select(x => x.ToString()).ToArray())
Run Code Online (Sandbox Code Playgroud)
在这种特定情况下,直接使用可能更有效,StringBuilder因为Append(int)可以避免创建临时字符串.然而,除非事实证明这是一个瓶颈,否则我会坚持这个简单的单一表达.
您可以使用聚合扩展:
string s = list.Aggregate<int, string>(String.Empty, (x, y) => (x.Length > 0 ? x + "^" : x) + y.ToString());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12794 次 |
| 最近记录: |