Predicate<T> 委托
Predicate<T> 委托:表示定義一組條件並確定指定對象是否符合這些條件的方法。下麵的代碼示例使用帶有 Array.Find<T> 方法的 Predicate<T> 委托搜索 Point 結構的數組。如果 X 和 Y 字段的產品大於 100,000,則該代理所代表的方法 ProductGT10 將返回 true。 Find<T> 方法調用數組的每個元素的代理,從而在第一個滿足測試條件的點停止。
using System; using System.Drawing; public class Example { public static void Main() { // Create an array of five Point structures. Point[] points = { new Point(100, 200), new Point(150, 250), new Point(250, 375), new Point(275, 395), new Point(295, 450) }; // To find the first Point structure for which X times Y // is greater than 100000, pass the array and a delegate // that represents the ProductGT10 method to the static // Find method of the Array class. Point first = Array.Find(points, ProductGT10); // Note that you do not need to create the delegate // explicitly, or to specify the type parameter of the // generic method, because the C# compiler has enough // context to determine that information for you. // Display the first structure found. Console.WriteLine("Found: X = {0}, Y = {1}", first.X, first.Y); } // This method implements the test condition for the Find // method. private static bool ProductGT10(Point p) { if (p.X * p.Y > 100000) { return true; } else { return false; } } } /* This code example produces the following output: Found: X = 275, Y = 395 */來自:MSDN
最後更新:2017-04-02 00:06:55