最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C#中的Action和Func委托 – 通過示例進(jìn)行解釋

2023-07-08 09:01 作者:曉楓Motivation  | 我要投稿

在 C# 中,稱為委托的類型表示對具有特定簽名的方法的引用。

開發(fā)人員使用委托來實(shí)現(xiàn)回調(diào)方法、處理事件以及執(zhí)行需要稍后執(zhí)行方法的任務(wù)。

C# 提供了各種委托,其中兩個(gè)常用的委托是 Action 和 Func,它們都定義在 System 命名空間中。

在本教程中,您將了解 C# 中的 Action 和 Func 委托。

要下載本文的源代碼,請?jiān)L問此GitHub 存儲庫: /TobbyJay/ActionAndFuncDelegate。

讓我們首先討論 Action 委托并探索它的用法

(更|多優(yōu)質(zhì)內(nèi)|容:java567 點(diǎn) c0m)


C# 中的動作委托是什么?

Action 委托是一種預(yù)定義的委托類型,它封裝了具有零個(gè)或多個(gè)不返回值的輸入?yún)?shù)的方法。換句話說,一個(gè) Action 委托代表一個(gè)返回 void 的方法。

考慮這個(gè)示例,演示在簡單的控制臺計(jì)算器應(yīng)用程序中使用 Action 委托:

?Action<int, int> ActionCalculator = (a, b) =>
?{
? ? ?Console.WriteLine($"Addition result: {a + b}");
? ? ?Console.WriteLine($"Subtraction result: {a - b}");
? ? ?Console.WriteLine($"Multiplication result: {a * b}");
? ? ?Console.WriteLine($"Division result: {a / b}");
?};
?
?ActionCalculator(4, 2);

在此示例中,我們定義了一個(gè)名為 ActionCalculator 的 Action 委托。它采用兩個(gè)整數(shù)參數(shù)并使用這些參數(shù)執(zhí)行四個(gè)基本算術(shù)運(yùn)算。然后,我們使用值 4 和 2 調(diào)用委托。

該應(yīng)用程序在運(yùn)行時(shí)產(chǎn)生以下輸出:

?Addition result: 6
?Subtraction result: 2
?Multiplication result: 8
?Division result: 2

正如您所看到的,利用 Action 委托簡化了將一個(gè)方法作為參數(shù)傳遞給另一個(gè)方法的過程。

C# 中的 Func 委托是什么?

Func 委托是另一種預(yù)定義的委托類型,它表示具有零個(gè)或多個(gè)返回值的輸入?yún)?shù)的方法。與 Action 委托不同,F(xiàn)unc 委托的返回類型可以是任何類型。

讓我們考慮一個(gè)在簡單的控制臺計(jì)算器應(yīng)用程序中使用 Func 委托的示例。

在這個(gè)例子中,我們定義了一個(gè) Calculator 類:

?public class Calculator
?{
? ? ?public int Add(int a, int b) => a + b;
? ? ?public int Subtract(int a, int b) => a - b;
? ? ?public int Multiply(int a, int b) => a * b;
? ? ?public int Divide(int a, int b) => a / b;
?}

Calculator 類包含執(zhí)行四種基本算術(shù)運(yùn)算的方法。

接下來,我們創(chuàng)建四個(gè) Func 委托,每個(gè)委托都指向計(jì)算器的方法之一:

?var FuncCalculator = new Calculator();
?
?Func<int, int, int> add = FuncCalculator.Add;
?Func<int, int, int> subtract = FuncCalculator.Subtract;
?Func<int, int, int> multiply = FuncCalculator.Multiply;
?Func<int, int, int> divide = FuncCalculator.Divide;
?
?Console.WriteLine($"Addition result: {add(4, 2)}");
?Console.WriteLine($"Subtraction result: {subtract(4, 2)}");
?Console.WriteLine($"Multiplication result: {multiply(4, 2)}");
?Console.WriteLine($"Division result: {divide(4, 2)}");

最后,我們使用值 4 和 2 調(diào)用每個(gè)委托并將結(jié)果打印到控制臺。

計(jì)算器應(yīng)用程序在運(yùn)行時(shí)顯示以下輸出:

?Addition result: 6
?Subtraction result: 2
?Multiplication result: 8
?Division result: 2

Func 委托提供了一種簡單的方法來定義和使用方法,將方法作為參數(shù)傳遞并作為結(jié)果返回。

結(jié)論

總之,Action 和 Func 委托提供了一種將方法調(diào)用封裝在委托對象內(nèi)的方法。

當(dāng)方法不返回值時(shí),開發(fā)人員使用 Action 委托;當(dāng)方法返回值時(shí),開發(fā)人員使用 Func 委托。

(更|多優(yōu)質(zhì)內(nèi)|容:java567 點(diǎn) c0m)


C#中的Action和Func委托 – 通過示例進(jìn)行解釋的評論 (共 條)

分享到微博請遵守國家法律
玉龙| 自治县| 堆龙德庆县| 开阳县| 宝清县| 泽普县| 桂阳县| 洱源县| 金平| 东台市| 台中县| 黄骅市| 斗六市| 蒙城县| 寿宁县| 芦山县| 剑川县| 大同市| 潞西市| 武陟县| 静安区| 明溪县| 凤城市| 长垣县| 名山县| 冀州市| 营口市| 富源县| 准格尔旗| 内黄县| 龙川县| 图们市| 和田县| 西华县| 新安县| 临猗县| 修文县| 温州市| 定西市| 循化| 扎赉特旗|