本人喜歡代碼看起來比較優雅,而C#真的是一種很優雅的語言。比如我們New List<string> StrList;
如果我們想查找StrList,可以使用C#提供的
StrList.Find , StrList.FindAll , StrList.Exists , StrList.FindLast , StrList.FindIndex
例如:
StrList.FindAll(delegate(String str) { return str.Length <= 3; });
使用這種匿名代理,使得C#的代碼看起來更加清晰。上述的關鍵字都是用到了Predicate作為參數的類型。
那除了C#提供的關鍵字,我們還可以自己實現Predicate來實現自己的代碼。如:
我們在對類使用IEnumerable接口的時候可以自己實現Find方法:
public List<string> Find(Predicate<string> match) { foreach (string str in this) { if (match(str)) { return str; } } return string.Empty; }