Predicate Delegates in C#

后端 未结 10 1466
一个人的身影
一个人的身影 2020-11-27 09:13

Can you explain to me:

  • What is a Predicate Delegate?
  • Where should we use predicates?
  • Any best practices when using predicates?

10条回答
  •  臣服心动
    2020-11-27 09:27

    The predicate-based searching methods allow a method delegate or lambda expression to decide whether a given element is a “match.” A predicate is simply a delegate accepting an object and returning true or false: public delegate bool Predicate (T object);

       static void Main()
            {
                string[] names = { "Lukasz", "Darek", "Milosz" };
                string match1 = Array.Find(names, delegate(string name) { return name.Contains("L"); });
                //or
                string match2 = Array.Find(names, delegate(string name) { return name.Contains("L"); });
                //or
                string match3 = Array.Find(names, x => x.Contains("L"));
    
    
                Console.WriteLine(match1 + " " + match2 + " " + match3);     // Lukasz Lukasz Lukasz
            }
            static bool ContainsL(string name) { return name.Contains("L"); }
    

提交回复
热议问题