Home >Backend Development >C++ >What Does the `=>` Syntax Mean in C#?

What Does the `=>` Syntax Mean in C#?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-11 19:47:41307browse

What Does the `=>` Syntax Mean in C#?

Deeply explore the mysterious '=>' syntax in C#

Have you ever encountered the mysterious '=>' syntax in C# code and wondered what it means? Let’s demystify it and explore its diverse uses.

This convoluted notation, called the lambda operator, has been an integral part of the C# language since version 3.0. Originally used in lambda expressions, it provides a neat alternative to anonymous methods. These expressions provide a compact way to define a function without explicitly declaring its full signature.

For example, the following code creates a lambda expression using the '=>' syntax:

<code class="language-c#">Func<Person, string> nameProjection = p => p.Name;</code>

This expression is equivalent to the following anonymous method:

<code class="language-c#">Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };</code>

In both cases, the delegate accepts a Person as parameter and returns its Name property as a string.

However, the '=>' syntax really shines in C# 6 and above. It is used for expression body members, greatly simplifying your code by allowing you to define properties and methods using concise expressions.

Consider the following example:

<code class="language-c#">// 表达式主体属性
public int IsValid => name != null && id != -1;

// 表达式主体方法
public int GetHashCode() => id.GetHashCode();</code>

These expressions provide a more concise way to define the behavior of properties and methods without lengthy blocks of code.

To further expand your knowledge, please refer to the following resources:

The above is the detailed content of What Does the `=>` Syntax Mean in C#?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn