2017-02-24 41 views
0

如何將System.Collection.IEnumerable轉換爲c#中的列表? 其實我正在執行一個商店程序,它給我結果集System.Collection.IEnumerable,我想將結果集轉換爲c#List<User>如何將System.Collection.IEnumerable轉換爲c#中的列表<T>?

注意我不想使用任何循環。有沒有類型投射的方法!

+2

不能'ToList()'做? –

+0

@CircleHsiao這不是重複的。請注意作者請求IEnumerable,而不是IEnumerable 。 – Sebi

+0

@CircleHsiao這不是重複的,因爲你的問題提到IEnumerable ,但作者指的是I​​Enumerable。 – Sebi

回答

2

您可以使用以下方法:

IEnumerable myEnumerable = GetUser(); 
List<User> myList = myEnumerable.Cast<User>().ToList(); 

由於拉塞·五卡爾森建議在他的評論,而不是Cast<User>你也可以使用OfType<User>();

如果您的IEnumerable的默認情況下一般我不要以爲你的命名空間有問題:System.Collection.IEnumerable你可以很容易地使用:

IEnumerable<User> myEnumerable = GetUser(); 
List<User> myList = myEnumerable.ToList(); 
+0

或者他可以使用OfType –

+0

@ LasseV.Karlsen謝謝你的建議我更新我的答案。 – Sebi

+0

謝謝!有效。 –

0

你應該可以使用Linq的ToList()方法。

List<string> collection = myEnumCollection.ToList(); 
+0

這不會工作,因爲OP要求System.Collection.IEnumerable和不使用System.Collections.Generic.IEnumerable Sebi

相關問題