图书销售网站网页设计模板,安徽城乡建设厅网站焊工证查询,seo外包优化,做旅游的网站那个便宜C# 中委托的常用方式#xff0c;包括委托的定义、实例化、不同的赋值方式以及匿名委托的使用。 委托的定义 // 委托的核心是跟委托的函数结构一样
public delegate string SayHello(string c);public delegate string SayHello(string c);#xff1a;定义了一个公共委托类型 …C# 中委托的常用方式包括委托的定义、实例化、不同的赋值方式以及匿名委托的使用。 委托的定义 // 委托的核心是跟委托的函数结构一样
public delegate string SayHello(string c);public delegate string SayHello(string c);定义了一个公共委托类型 SayHello该委托接受一个 string 类型的参数 c并返回一个 string 类型的值。
Main 方法 static void Main(string[] args)
{// 本质上其实就是把方法当作委托的参数SayHello sayC new SayHello(SayChinese);Console.WriteLine(sayC(欢迎大家));SayHello sayE new SayHello(SayEgnlish);Console.WriteLine(sayE(Welcome to));// 简单的写法:必须类型一样SayHello s1 SayChinese;SayHello s2 SayEgnlish;Console.WriteLine(s1(好好好));Console.WriteLine(s2(Gooood));// 最推荐SayHello ss1 con con;Console.WriteLine(ss1(niiiice));// 匿名委托:一次性委托SayHello ss3 delegate(string s) { return s; };Console.WriteLine(ss3(说中国话));
}常规实例化委托 SayHello sayC new SayHello(SayChinese);创建了一个 SayHello 委托的实例 sayC并将 SayChinese 方法作为参数传递给委托的构造函数。Console.WriteLine(sayC(欢迎大家));通过委托实例调用 SayChinese 方法并输出结果。同理SayHello sayE new SayHello(SayEgnlish); 和 Console.WriteLine(sayE(Welcome to)); 是对 SayEgnlish 方法的委托调用。 简化的委托赋值方式 SayHello s1 SayChinese; 和 SayHello s2 SayEgnlish;当委托类型和方法签名一致时可以直接将方法赋值给委托变量无需使用 new 关键字。Console.WriteLine(s1(好好好)); 和 Console.WriteLine(s2(Gooood));通过委托实例调用相应的方法。 使用 Lambda 表达式实例化委托 SayHello ss1 con con;使用 Lambda 表达式创建委托实例 ss1con con 表示接受一个参数 con 并返回该参数本身。Console.WriteLine(ss1(niiiice));通过委托实例调用 Lambda 表达式。 匿名委托 SayHello ss3 delegate(string s) { return s; };使用匿名委托创建委托实例 ss3delegate(string s) { return s; } 是一个匿名方法直接在委托实例化时定义了方法体。Console.WriteLine(ss3(说中国话));通过委托实例调用匿名方法。
委托引用的方法定义 public static string SayChinese(string content)
{return content;
}public static string SayEgnlish(string content)
{return content;
}public static string SayChinese(string content) 和 public static string SayEgnlish(string content)定义了两个静态方法分别接受一个 string 类型的参数 content并返回该参数本身。这两个方法的签名与 SayHello 委托一致可以被 SayHello 委托引用。
常规的委托实例化、简化的赋值方式、Lambda 表达式和匿名委托。委托在 C# 中是一种强大的机制它允许将方法作为参数传递实现了代码的灵活性和可扩展性。 namespace _1.委托的常用方式
{internal class Program{//委托的核心是跟委托的函数结构一样public delegate string SayHello(string c);static void Main(string[] args){//本质上其实就是把方法当作委托的参数SayHello sayCnew SayHello(SayChinese);Console.WriteLine(sayC(欢迎大家));SayHello sayEnew SayHello(SayEgnlish);Console.WriteLine(sayE(Welcome to));//简单的写法:必须类型一样SayHello s1 SayChinese;SayHello s2 SayEgnlish;Console.WriteLine(s1(好好好));Console.WriteLine(s2(Gooood));//最推荐SayHello ss1 con con;Console.WriteLine(ss1(niiiice));//匿名委托:一次性委托SayHello ss3delegate(string s) { return s; };Console.WriteLine(ss3(说中国话));}public static string SayChinese(string content){return content;}public static string SayEgnlish(string content){return content;}}
}