2013-12-11 47 views
1

目前,我有一個List<object>這樣的:List<USER>檢索列表<Object>至列表<String>

User類中,我有名爲UserName的列。

我想檢索此列到List<string>

如何可以在不使用foreachList<USER>工作?

謝謝。

+0

看到這個:http://stackoverflow.com/questions/7187409/c-linq-apply-a-mapping-function-to-each-element-在可枚舉 –

回答

9

你可以使用LINQ:

List<string> userNames = users.Select(u => u.UserName).ToList(); 
+0

重要的是要注意的是,在內部,這仍然是用foreach循環來解決......但是再一次,沒有辦法解決這個問題。 – Tobberoth

+0

@Tobberoth:是的,當然LINQ不能表演魔術;)但它可以提高可讀性,這比幾毫秒更重要。 –

+0

woa,非常感謝Tim。它節省了我很多時間。 – user3011414

1

除了蒂姆Schmelter後:

鑄造IEnumerable<object>IEnumerable<USER>你可以使用Cast<T>OfType<T>方法。

這可以寫成如下:

var userNames = users.Cast<USER>.Select(u => u.UserName).ToList();