2010-12-23 203 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); 
}