據我所知,謂詞委託的函數會返回布爾並採取泛型參數,我明白,當我說:謂詞和排序依據,Func鍵
mycustomer => mycustomer.fullname == 1
它實際上意味着:
delegate (Customer mycustomer)
{
return mycustomer.fullName == "John";
}
的當我通過這個lambda表達式時,我傳入的參數是:
public delegate bool Criteria<T>(T value)
這本來就叫做謂詞
但我不明白的是什麼意思,當我說mycustomer=>mycustomer.fullname
在customers.OrderBy(mycustomer=>mycustomer.fullname);
如何實現類似OrderBy
?我如何告訴一個方法哪個屬性可以執行操作!像前面的例子一樣?
例如這裏是我想要得到哪一個集合的所有值特定屬性的方法的情況:
list<string> mylist = customers.GetPropertyValues(cus=>cus.Fullname);
在此先感謝。
'Predicate'是一個返回'bool'的函數。 'mycustomer => mycustomer.fullname'是'Func'(我猜'fullname'是'string'類型的)。你應該閱讀關於迭代器(IEnumerable,yield,...)。如果你正在使用數據庫等 - 這都是關於表達式樹的。 –
2010-08-04 08:42:14