运算符 '=>' 是什么意思在 C# 中是什么意思?

What does the operator #39;=gt;#39; mean in C#?(运算符 =gt; 是什么意思在 C# 中是什么意思?)
本文介绍了运算符 '=>' 是什么意思在 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# 中是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)