我有一個詞典,我想根據不同的條件進行過濾。如何在代表中使用詞典
IDictionary<string, string> result = collection.Where(r => r.Value == null).ToDictionary(r => r.Key, r => r.Value);
我想將Where子句作爲參數傳遞給執行實際過濾的方法,例如,
private static IDictionary<T1, T2> Filter<T1, T2>(Func<IDictionary<T1, T2>, IDictionary<T1, T2>> exp, IDictionary<T1, T2> col)
{
return col.Where(exp).ToDictionary<T1, T2>(r => r.Key, r => r.Value);
}
這不能編譯,但。
我曾嘗試用
Func<IDictionary<string, string>, IDictionary<string, string>> expression = r => r.Value == null;
var result = Filter<string, string>(expression, collection);
調用這個方法我在做什麼錯?
@Daniel Hilgarth:固定收益型。感謝您指出了這一點。 – Rotte2 2013-03-21 10:45:30