C# 入门之函数(补充)

前面我们有讲过 C# 中的函数,今天我们补充一点。

在 C# 中,支持一种函数叫做 “匿名函数”,即将一个 “内联” 语句或表达式,可在需要委托类型的任何地方使用。

我们可以使用 lambda 表达式或匿名方法来创建匿名函数。 微软官方建议使用 lambda 表达式,因为它们提供了更简洁和富有表现力的方式来编写内联代码。所以,我们这里也就使用了 lambda 表达式。

下面我们来看一个简单的示例:

using System;

namespace ConsoleApp27
{
    class Program
    {
        static void Main(string[] args)
        {
            Action say = () => Console.WriteLine("Hello World.");
            say();
        }
    }
}

运行结果:

Hello World.

既然是作为函数,肯定要可以通过传参的方式:

using System;

namespace ConsoleApp27
{
    class Program
    {
        static void Main(string[] args)
        {
            Action<string> say = (s) => Console.WriteLine(s);
            say("Hello World.");
        }
    }
}

运行结果:

Hello World.

大家还记得我们前面的函数示例,创建一个函数,计算任意两个数的和,今天我们将尝试使用 lambda 表达式 的方式重写它。

下面我们来看看具体代码:

using System;

namespace ConsoleApp27
{
    class Program
    {
        static void Main(string[] args)
        {
            Func<int, int, int> sum = (x, y) => 
            {
                return x + y; 
            };
            Console.WriteLine("Please enter first number:");
            int firstNum = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Please enter second number:");
            int SecondNum = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(sum(firstNum, SecondNum));
        }
    }
}

运行结果:

Please enter first number:
5
Please enter second number:
5
10

<<:  Day13 Vue directives(v-if & v-show)

>>:  Day.18 「从函式物件认识 作用域 与 提升!」 —— JavaScript 函式(Function) & 作用域(Scope) & 提升(Hoisting)

C#入门之特殊字符

在前面的一些示例中,我们见过 $,@ 等等,这样的符号,但没有详细地说明这些符号的用途,今天我们就来...

#24-这个播放器也太潮!用Canvas放音乐!w/JS web audio API

今天来试试看利用Canvas来做声音的视觉表现! 搭配Javascript web audio AP...

【Day 18】QGIS

回到地图 我们在前几天讨论到地图,但是我们不用 Google API,因为怕被收钱钱,我们用的是 O...

[Day 20] Mattermost - 自签凭证绑定 Docker版

自签凭证绑定 Docker版 当有需求要Mattermost绑定自签凭证时怎麽办?我们的Matter...

Leetcode 挑战 Day 09 [344. Reverse String]

344. Reverse String 今天这一题是将一个字元阵列翻转过来,题目看似很单纯,但也有一...