2010-12-23 165 views
-1

我试图从一个IList集合(这里的实体)复制值的StringBuilder作为C#Lambda表达式

Entites.Select(n => objStringBuilder.AppendLine(n.Note)); 

任何人都可以请指导我究竟做错了什么?

谢谢!

+1

你能告诉,出了什么问题吗? – 2010-12-23 13:29:44

+1

这应该工作,虽然你应该真的使用ForEach而不是选择,因为你实际上没有选择任何东西。没有什么大不了的。如果它实际上不工作,你会得到什么错误信息?有“n.Note”的问题? – 2010-12-23 13:31:24

+0

此外,您拼写的实体错误:“Entites”。这不是语法错误吗? – 2010-12-23 13:36:03

回答

2

Select不是你想在这里用你的东西。尝试转换为List<T>并使用ForEach代替。

Entities.ToList().ForEach(n => objStringBuilder.AppendLine(n.Note)); 
0
String.Join("", entities.Select(x => x.Note).ToArray()) 

,或者如果你坚持的StringBuilder:

Entities.Foreach(x => sb.Append(x.Note)) 

(该选择期望你提供一个返回值)

6

这看起来更像是一个foreach操作。我会与传统的每个坚守在这种情况下:

foreach (var n in Entities) { 
    objStringBuilder.AppendLine(n.Note); 
}