public static Dictionary<T, int> CountOccurences<T>(IEnumerable<T> items) { ... }
我有一個不幸的是使用ArrayList
!而非List<T>
一些遺留代碼定義一個實用的方法。現在,我需要轉換ArrayList
使用上述方法,並且以下兩種應該工作
var v = CountOccurences<String>(arrayList.Cast<String>().ToArray());
或
var v = CountOccurences<String>(arrayList.OfType<String>().ToArray());
無論在VS2012這些工作在.NET 4.5中給
'System.Collections.ArrayList'不包含'OfType'的定義,也沒有接受'System.Collectio'類型的第一個參數的擴展方法'OfType' ns.ArrayList」可以找到(是否缺少using指令或程序集引用?)
不過,我已經在LINQpad測試這一點,他們都工作。 爲什麼我不能投我的ArrayList
?
謝謝你的時間。
請告訴我錯誤消息:你可以通過創建
CountOccurences
新的非泛型重載這需要一個ArrayList
繞過這個問題? –arrayList.Cast()是一個IEnumerable ,你不需要調用ToArray –
沒有實際的錯誤信息,我只能猜測,但你使用System.Linq命名空間? – Dirk