【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;
			};
			

		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zok93

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值