运算符 '=>' 是什么意思在 C# 中是什么意思? [英] What does the operator '=>' mean in C#?

查看:25
本文介绍了运算符 '=>' 是什么意思在 C# 中是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此语句中的=>"表示什么?

What does the '=>' in this statement signify?

del = new SomeDelegate(() => SomeAction());

上面的声明和这个一样吗?

Is the above declaration the same as this one?

del = new SomeDelegate(this.SomeAction);

谢谢.

推荐答案

基本上它是指定一个匿名函数,它不接受调用 SomeAction 的参数.所以是的,它们在功能上是等效的.虽不相等.使用 lambda 更等同于:

Basically it's specifying an anonymous function, that takes no parameters that calls SomeAction. So yes, they are functionally equivalent. Though not equal. Using the lambda is more equivalent to:

del = new SomeDelegate(this.CallSomeAction);

其中 CallSomeAction 定义为:

where CallSomeAction is defined as:

public void CallSomeAction()
{
    this.SomeAction();
}

希望有帮助!

这篇关于运算符 '=>' 是什么意思在 C# 中是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆