C#中常见的系统内置委托用法详解
2021-04-25 15:22
标签:用法详解 silver 不用 表达式 dev style lis size 查找 一般来说,C#在公共语言运行时(CLR)环境中系统为我们内置了一些常用的委托,包括Action类的委托、Func类的委托、Predicate 就像我们自己已定义好的一样,要实现某些功能,我们可以直接利用系统内置委托,实例化它们,而不必显式定义一个新委托并将命名方法分配给该委托。如: 只要了解了该系统内置委托是干什么的,传什么参数,返回什么值,大家就可以仿上述例子自行调用,不再赘述。下面是我对这四类委托的总结,并附有结合匿名方法与Lambda表达式的范例,两种方法实现的结果一样,大家可举一反三,灵活运用。 1.Action委托 封装一个方法,该方法不具有参数并且不返回值 2.Action 3.Action …… …… 17.Action 下面以Action Action类的委托最少可以传入0个参数,最多可以传入16个参数,参数类型皆为逆变,并且不返回值。 1.Func(TResult)委托封装封装一个不具有参数但却返回 TResult 参数指定的类型值的方法 2.Func(T,TResult)委托 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法 3.Func(T1,T2,TResult)委托 封装一个具有两个参数并返回 TResult 参数指定的类型值的方法 …… …… 17.Func 下面以Func Func类的委托最少可以传入输入泛型参数(in,逆变) 1个,最多可以传入输入泛型参数(in,逆变) 16个,传入的输出泛型参数(out,协变)有且只有一个,这个类型是此委托封装的方法的返回值类型。 表示定义一组条件并确定指定对象是否符合这些条件的方法 下面给出Predicate Predicate 表示比较同一类型的两个对象的方法 下面给出Comparison Comparison 本文地址: http://www.paobuke.com/develop/c-develop/pbk23548.html C#中常见的系统内置委托用法详解 标签:用法详解 silver 不用 表达式 dev style lis size 查找 原文地址:http://www.cnblogs.com/paobuke/p/7919814.htmlpublic static void Test()
{
Console.WriteLine("Just For Test");
}
static void Main(string[] args)
{
Action a = new Action(Test); //直接实例化一个Action委托,不用自己再定义新委托
a();
}
一、Action类的委托static void Main(string[] args)
{
#region Action
总结:
二、Func类的委托static void Main(string[] args)
{
#region Func
总结:
三、Predicatestatic void Main(string[] args)
{
#region Predicate
总结:
四、Comparisonstatic void Main(string[] args)
{
#region Comparison
总结:
值
含义
小于0
x
小于
y
0
x
等于
y
大于0
x
大于
y
C#中常见的系统内置委托用法详解相关内容