Lambda表达式求解!!!!
IEnumerable<string> textSegs =
from seg in root.Descendants("t")
select (string)seg;
string str = textSegs.Aggregate(new StringBuilder(),
(sb, i) => sb.Append(i),
sp => sp.ToString()
);
请问 (new StringBuilder(),
(sb, i) => sb.Append(i),
sp => sp.ToString()
);
这是什么意思呢?还有 (sb, i) => sb.Append(i),
sp => sp.ToString()
这两句一起使用返回的是什么啊?
------解决方案--------------------
(sb, i) => sb.Append(i)
相当于这样一个函数:
StringBuilder foo(StringBuilder sb, string i)
{
return sb.Append(i);
}
------解决方案--------------------
http://msdn.microsoft.com/en-us/library/bb548744.aspx
说不清楚。。。
C# code
string str = textSegs.Aggregate(new StringBuilder(), //new StringBuilder()是种子 累加器的初始值
(sb, i) => sb.Append(i), //对每个元素调用的累加器函数
sp => sp.ToString() //累加器的最终值转换为结果值
);