程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Predicate Generic Delegate

Predicate Generic Delegate

編輯:.NET實例教程

Represents the method that defines a set of criteria and determines whether the specifIEd object meets those criteria.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

version Information:

.Net Framework

Supported in: 3.0, 2.0

.Net Compact Framework

Supported in: 2.0 

Syntax:

C#

public delegate bool Predicate<T> (	T obj)

 

Type Parameters

T

The type of the object to compare.

 

Parameters

obj

The object to compare against the criteria defined within the method represented by this delegate.

 

 

Return Value

true if obj meets the criteria defined within the method represented by this delegate; otherwise, false

Notes:

Visual Basic and C# users do not need to create the delegate explicitly, or to specify the type argument of the generic method. The compilers determine the necessary types from the method arguments you supply.

One example: Predicate is used explicitly.



public

yle="COLOR: #000000"> static void Main(){
   int [] zArray={1,2,3,1,2,3,1,2,3};
   Predicate<int> match=new Predicate<int>(MethodA<int>);
   int [] answers=Array.FindAll(zArray, match);
   foreach(int answer in answers) {
       Console.WriteLine(answer);
   }


}

public static bool MethodA<T>(T number) where T:IComparable {
    int result=number.CompareTo(3);
    return result==0;
}

 

Another example: Predicate is used implicitly.

 



using System;
using System.Drawing;

public class Example
{
    public static void Main()
    {
        // Create an array of five Point structures.
        Point[] points =0000"> { 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 Shared 
        // 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

e="COLOR: #000000"> 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
 */
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved