c#中签名类似方法的执行选择
c#中的赋值语句是有返回值的,等价于将赋值操作完成后,再将赋值号(=)左边返回(这就是为什么我们可以写y=x=1)这样的语句来初始化一系列的变量。第二点要说的就是在c#中,某些labmda表达式可以简写。如(t1,t2) => { return something; }可以简写为(t1,t2) => something;以及(t1,t2) => { dosomething; } 可以简写为 (t1,t2) => dosomething。那么我们再来看上文的lambda表达式,它可能是两个表达式的简写:(1) i => { i = 1; } 这个时候很明显它是一个action(注1),如果你不采用简写的话那么上面的例子毫无疑问会执行第一个test函数(因为不满足第二个函数的参数类型)。 (2) i => { return i = 1; } 这个时候明显它是一个func,同时也是一个func。在这种不明确的情况下,c#是如何选择执行函数的呢
static void main(string[] args)
{
test(i => i = 1);
}static void test(action action)
{
action(1);
}static void test(func func)
{
func(1);
}
ios哔咔网页版直达入口-哔咔漫画iOS网页版一键进入
MyFreeMP3在线音乐官网-MyFreeMP3网页版官方入口
超星学习通网页版登录入口-超星学习通官网登录网址
超星学习通官网快捷登录入口 学习通网页版官方一键直达方法
韩剧再婚皇后全集百度云网盘资源链接分享-韩剧再婚皇后1080p蓝光百度云网盘资源下载
韩剧再婚皇后阿里云盘全集高清1080P资源链接-韩剧再婚皇后免费阿里云盘资源下载4K高清无删减版链接