2010-08-02 60 views
0

我相信這是一個微不足道的問題,但我找不到一個好例子。假設你想要做的就是改變列表中所有對象的一個​​屬性。我想說的是:Linq的簡單轉換

List<SomeType> list = ...; 

list.Select(x => x { x.Name = "Foo" }); 

注意不存在「新」關鍵字。我不想重新創建已經存在的對象,只需在列表的每個元素上執行一行代碼(在本例中爲簡單賦值)。

這是可能的linq在一些優雅的方式?

在此先感謝!

+0

雖然建議的解決方案的工作,LINQ的是用於查詢。不要濫用它。 – 2010-08-02 19:15:43

+0

@Doc Brown:Linq不僅適用於查詢! – 2010-08-02 22:34:00

+0

@Christopher Edwards:我很確定你知道什麼是縮寫LINQ。如果你不相信,可以看一下鏈接到Eric Lippert發佈​​的文章。 – 2010-08-03 06:18:07

回答

2

很簡單。其實它只是List類的一個方法,但它允許你使用Lambda表達式。

list.Foreach(x => x.Name = "Foo" ); 
+0

絕對不是擴展名。只是T – spender 2010-08-02 19:17:10