Perwakilan jenis generik terbina ialah perwakilan predikat dalam C# yang ditakrifkan di bawah Sistem Ruang Nama. Ruang nama dan kaedah yang mengandungi set kriteria tertentu boleh digunakan dengan perwakilan predikat untuk menentukan sama ada parameter yang diluluskan boleh memenuhi kriteria yang diberikan atau tidak dan hanya satu input yang diambil oleh kriteria ini mengembalikan nilai sama ada benar atau salah dan perwakilan predikat adalah sama seperti perwakilan Func yang lain dan perwakilan Tindakan.
Sintaks:
public delegate bool Predicate <in P>(P obj);
Di mana jenis objek diwakili oleh P dan obj ialah objek yang membandingkan kriteria yang ditakrifkan dalam kaedah dan diwakili oleh perwakilan predikat.
Diberikan di bawah adalah contoh yang dinyatakan:
Atur cara C# untuk menunjukkan penggunaan perwakilan predikat dalam atur cara untuk menyemak sama ada rentetan yang diberikan diluluskan sebagai parameter dalam huruf besar atau tidak.
Kod:
using System; //a namespace called program is defined namespace program { //a class called check is defined public class check { //a Boolean method is defined to check if the given string is written in capital letters or not. If written in capital letters, true is returned else False is returned. static bool IsUC(string stri) { return stri.Equals(stri.ToUpper()); } //main method is called static void Main(string[] args) { //a predicate delegate is defined with object type as string and IsUC is an object which compares the criteria that is defined within a method and is represented by predicate delegate. Predicate<string> isU = IsUC; //The result of the predicate delegate is stored in a variable called res bool res = isU("welcome to c#"); //the result is displayed Console.WriteLine(res); } } }
Output:
Penjelasan:
Atur cara C# untuk menunjukkan penggunaan perwakilan predikat dalam atur cara untuk menyemak sama ada panjang rentetan yang diberikan kurang daripada nilai yang ditentukan atau tidak.
Kod:
using System; //a class called program is defined class program { // a predicate delegate is defined with object type as string public delegate bool my_del(string stri); // a method is defined inside a predicate delegate by passing the object as parameter to check if the length of the given string is less than a specified value. If less than the given specified value, true is returned else false is returned public static bool fun(string stri) { if (stri.Length < 5) { return true; } else { return false; } } //Main method is called static public void Main() { // a predicate delegate is defined with object type as string and fun is an object which compares the criteria that is defined within a method and is represented by predicate delegate. my_del obj = fun; //The string to be passed as a parameter to predicate delegate is written here Console.WriteLine(obj("Shobha")); } }
Output:
Penjelasan:
Diberikan di bawah adalah kelebihan Predikat C#:
Atas ialah kandungan terperinci C# Predikat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!