柚子快報(bào)激活碼778899分享:C# Action的使用
柚子快報(bào)激活碼778899分享:C# Action的使用
在C#中,Action?是一個(gè)預(yù)定義的泛型委托類型,它表示一個(gè)沒有返回值并且可以接受任意數(shù)量參數(shù)的方法。它通常用于封裝那些沒有返回值但需要執(zhí)行一些操作的方法。
Action?常用于事件處理、回調(diào)方法、線程操作或任何不需要返回結(jié)果但需要執(zhí)行一段代碼的情況。
Action?可以接受0到16個(gè)輸入?yún)?shù),這些參數(shù)的類型由泛型參數(shù)來指定。
?
下面是如何使用?Action?的基本示例:
1.沒有參數(shù)的情況
聲明和實(shí)例化 Action
// 聲明一個(gè)不帶參數(shù)且無返回值的 Action
Action simpleAction = () => Console.WriteLine("Hello, World!");
// 或者使用命名方法
void SayHello()
{
Console.WriteLine("Hello, World!");
}
Action noParamAction = SayHello;
// 聲明一個(gè)帶有兩個(gè)整數(shù)參數(shù)的 Action
Action
// 使用命名方法
void PrintSum(int a, int b)
{
Console.WriteLine($"Sum: {a + b}");
}
Action
調(diào)用 Action
// 調(diào)用不帶參數(shù)的 Action
simpleAction();
// 傳遞參數(shù)調(diào)用 Action
withParamsAction(3, 5);
// 使用命名方法調(diào)用 Action
noParamAction();
sumAction(2, 4);
作為方法參數(shù)
public void PerformOperation(Action operation)
{
// 執(zhí)行一些前置操作...
operation(); // 調(diào)用傳入的 Action
}
// 使用方法
PerformOperation(() => Console.WriteLine("Performed by the action."));
通過這種方式,Action?提供了一種便捷的方式來封裝行為,并且可以在不同的上下文中靈活地傳遞和執(zhí)行這些行為。
2.有參數(shù)的情況
帶有單個(gè)參數(shù)
using System;
class Program
{
static void Main()
{
// 定義一個(gè)帶有單個(gè)參數(shù)的Action
Action
// 調(diào)用Action,傳遞一個(gè)字符串參數(shù)
action("Alice");
}
static void Greet(string name)
{
Console.WriteLine($"Hello, {name}!");
}
}
帶有多個(gè)參數(shù)
using System;
class Program
{
static void Main()
{
// 定義一個(gè)帶有多個(gè)參數(shù)的Action
Action
// 調(diào)用Action,傳遞字符串和整數(shù)參數(shù)
action("Bob", 30);
}
static void SayHelloWithAge(string name, int age)
{
Console.WriteLine($"Hello, {name}! You are {age} years old.");
}
}
?
lambda 表達(dá)式:也可以使用 lambda 表達(dá)式來創(chuàng)建Action。
Action myAction = () => { Console.WriteLine("這是一個(gè) lambda 表達(dá)式"); };
myAction();
?
匿名方法:可以使用匿名方法來創(chuàng)建一個(gè)Action對(duì)象,并在需要時(shí)執(zhí)行。
Action myAction = () => Console.WriteLine("這是一個(gè)匿名方法");
myAction();
?
總的來說,Action 提供了一種靈活且類型安全的方式來封裝和傳遞無返回值的方法,并且可以通過Lambda表達(dá)式方便地創(chuàng)建匿名方法作為參數(shù)傳遞。
?
柚子快報(bào)激活碼778899分享:C# Action的使用
好文推薦
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。