五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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)行解釋的評論 (共 條)

分享到微博請遵守國家法律
古田县| 肥乡县| 甘孜县| 荔浦县| 九寨沟县| 湖口县| 夹江县| 阳春市| 遂宁市| 新乡县| 吉林市| 呼玛县| 泰宁县| 滦南县| 香港 | 宁国市| 西青区| 华池县| 江口县| 四会市| 文水县| 吉隆县| 德安县| 惠东县| 米泉市| 潜江市| 陵水| 蓝山县| 石狮市| 舒城县| 绥中县| 萨嘎县| 淮北市| 稷山县| 滨州市| 日土县| 华阴市| 扎赉特旗| 常德市| 平乡县| 邵武市|