本文主要是介绍【C#】Func委托类型和匿名方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
using System;
/// <summary>
/// Func<int> 必须有一个返回值类型,当前为无参数,返回值类型是int的方法
/// Func<string,int> 这种情况,string是方法的参数,int是方法的返回值
/// 方法的返回值在<>的最后一个,除了最后一个类型,都是方法的参数
/// 参数个数在0-16个之间,返回值类型必须是1个
/// </summary>
namespace Func委托类型和匿名方法
{class MainClass{//----------------------------------------------------------private static string GetName (){return "Sea";}//----------------------------------------------------------private static int GetInfo (string name){Console.WriteLine ("名字是{0}", name);return 18;}//----------------------------------------------------------public static void Main (string[] args){//-------------------------------------------------------// 委托一个返回值是string类型的方法Func<string> name = GetName;Console.WriteLine (name ());// 输出结果:Sea//-------------------------------------------------------// <>中至少有一个类型,也可以有多个类型// 当只有一个类型的时候,该类型就是方法的返回值类型// 当有多个类型的时候,最有一个为返回值类型,前面的为方法的参数类型// 如下行的委托就是一个返回值是int类型,参数是string类型Func<string,int> info = GetInfo;info ("海洋");//-----------------------匿名方法-------------------------// 从上面的代码其实我们可以看得出来,每一个委托的定义都必须通过一个能匹配的方法来完成// 然而有时候,用来初始化委托用的方法并不一定就是我们想用的,也许仅仅是为了初始化委托// 注意委托里的参数名会使用Main函数里的变量名字Func<string,int> info2 = delegate (string name2){return 18;};}}
}
这篇关于【C#】Func委托类型和匿名方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!