-1
從System.Collections.IEnumerable
(它只包含T型元素)獲得通用IEnumerable<T>
的最簡單方法是什麼?從System.Collections.IEnumerable獲取泛型IEnumerable <T>的最簡單方法是什麼?
東西對我說應該是簡單的(避免LINQ)標準包裝,但我找不到它。
從System.Collections.IEnumerable
(它只包含T型元素)獲得通用IEnumerable<T>
的最簡單方法是什麼?從System.Collections.IEnumerable獲取泛型IEnumerable <T>的最簡單方法是什麼?
東西對我說應該是簡單的(避免LINQ)標準包裝,但我找不到它。
最簡單和最短的是與LINQ。您可以枚舉它沒有LINQ:
foreach (T item in IEnumerableCollection)
,這是幾乎什麼.Cast<T>()
做:
static IEnumerable<TResult> CastIterator<TResult>(IEnumerable source) {
foreach (object obj in source) yield return (TResult)obj;
}
謝謝。你是對的Cast
我不明白你的問題,你可以更清楚了嗎? –
使用OfType或Cast擴展。 – Evk
您很可能正在尋找'Cast'方法,但它被認爲是LINQ(在Enumerable類中定義)。如果您確定它只包含'T'類型的元素,則可以使用簡單的C#類型轉換。 '(IEnumerable)enumerable' –