.NET 幫助

C#操作(開發者如何運作)

發佈 2024年4月3日
分享:

在本教程中,我們將教授C# ActionFunc 委派及相關主題的概念。 此指南專為初學者設計,將帶您了解基礎知識,提供範例並解釋關鍵術語。動作委派.

讓我們先了解 C# 中的委派是什麼。 我們將探索IronPDF 庫稍後在本文中。

了解 C# 中的委派

委託是一種程式設計構造,作為方法的引用,由一組特定的參數和返回類型定義,封裝功能如預定義的委託類型,並允許方法返回值。

它允許將方法作為參數傳遞。 基本上,委派作為函數指標,指向它所代表的方法。 在C#中,有兩種廣泛使用的預定義委派類型:FuncAction

什麼是 Func 委派?

Func 委派表示可以具有返回值的方法。 最後一個類型參數指定返回類型,前面的類型指定輸入參數。

例如,一個 Func<int, int, string> 接受兩個整數參數並返回一個字串消息。

實務中的委派:範例

讓我們來看看一些範例,以了解 FuncAction 委派在 C# 中的運作方式。

操作委派範例

Action 委派是一種預定義的委派類型,當您想要執行一個不特定返回值而專注於操作的方法時使用。 這是一個基本範例:

Action<string> display = message => Console.WriteLine(message);
display("Hello, World!");
Action<string> display = message => Console.WriteLine(message);
display("Hello, World!");
Dim display As Action(Of String) = Sub(message) Console.WriteLine(message)
display("Hello, World!")
VB   C#

此程式碼定義了一個 Action 委派,展示了使用匿名方法,該方法接受一個字串參數並將其打印到控制台。 符號 => 用於定義 Lambda 表達式,這是一種撰寫匿名方法的簡潔方式。

Func 委派的範例

Func 委派可用來返回一個值,如下所示:

Func<int, int, int> add = (x, y) => x + y;
int result = add(5, 3);
Console.WriteLine(result);
Func<int, int, int> add = (x, y) => x + y;
int result = add(5, 3);
Console.WriteLine(result);
Dim add As Func(Of Integer, Integer, Integer) = Function(x, y) x + y
Dim result As Integer = add(5, 3)
Console.WriteLine(result)
VB   C#

此範例創建了一個 Func 委派,它接受兩個整數參數並返回它們的和。 總和將顯示在控制台上,如下所示:

C# 動作(開發人員操作方式):圖1

關鍵概念

匿名方法

C# 中的匿名方法提供了一種定義內聯方法而不需要名稱的方法。 它們經常與委派一起使用,以直接創建委派實例。

Lambda 表達式

Lambda 表達式是撰寫匿名方法的簡寫。 它們讓你在實現相同結果的同時撰寫更少的代碼。

泛型委派

泛型委派可以處理任何數據類型。 FuncAction 是泛型委託的例子,透過允許您在運行時指定輸入和輸出類型來提供更多的靈活性。

委派實例

委託實例可使用 new 關鍵字創建,或者通過簡單地分配一個與委託簽名匹配的方法來創建。

系統命名空間

在 .NET 中,System 命名空間包含像 FuncAction 這樣的內建類型,它們是基類庫的一部分。

使用委派的非同步編程

委派,包括 ActionFunc,是管理 C# 中異步任務不可或缺的一部分。 它們允許開發人員封裝對某個方法的引用,然後該方法可以以非同步方式執行。 這意味著主應用程式執行緒可以啟動一個任務,然後繼續進行其他工作,直到該任務完成。

此時,由委派引用的回調方法被調用以處理結果。 此模式對於創建響應式使用者介面至關重要,能在執行長時間運作時保持互動性。

範例:非同步文件處理

考慮一個需要處理大文件的應用程序。將 Action 委派與異步編程模式如 Task 結合使用,可以顯著提升應用程序性能:

public async Task ProcessFileAsync(string filePath, Action<string> onComplete)
{
    // Asynchronously read file content
    string fileContent = await File.ReadAllTextAsync(filePath);
    // Process the file content here (omitted for brevity)
    // Once processing is complete, invoke the onComplete callback
    onComplete?.Invoke("File processing completed successfully.");
}
public async Task ProcessFileAsync(string filePath, Action<string> onComplete)
{
    // Asynchronously read file content
    string fileContent = await File.ReadAllTextAsync(filePath);
    // Process the file content here (omitted for brevity)
    // Once processing is complete, invoke the onComplete callback
    onComplete?.Invoke("File processing completed successfully.");
}
Public Async Function ProcessFileAsync(ByVal filePath As String, ByVal onComplete As Action(Of String)) As Task
	' Asynchronously read file content
	Dim fileContent As String = Await File.ReadAllTextAsync(filePath)
	' Process the file content here (omitted for brevity)
	' Once processing is complete, invoke the onComplete callback
	If onComplete IsNot Nothing Then
		onComplete.Invoke("File processing completed successfully.")
	End If
End Function
VB   C#

在此範例中,使用 File.ReadAllTextAsync 來讀取檔案內容,而不阻塞主執行緒。 一旦文件處理完成,名為 onCompleteAction 委派會被調用,以通知調用者操作已完成,從而允許進一步的操作,如更新用戶界面或記錄結果。

IronPDF簡介:C# PDF程式庫

IronPDF是一個全面的 C# PDF 函式庫,專為 .NET 開發人員設計,以便輕鬆創建、編輯和操作 PDF 文件。 它以基於 Chrome 的渲染引擎而聞名,確保像素完美的PDF來自HTML內容、CSS、JavaScript 和圖像。

IronPDF 與多種 .NET 框架和環境相容,包括 .NET Standard、.NET Framework 和 .NET Core,適用於 Windows、Linux 和 macOS 平台。

安裝 IronPDF

要將IronPDF整合到您的.NET專案中,您可以使用NuGet,這是最簡單的方法。 只需在 Visual Studio 中開啟套件管理器主控台,然後執行以下命令:

Install-Package IronPdf

此命令將獲取並安裝 IronPDF 套件,設置您的項目以開始使用 IronPDF 進行 PDF 生成和操作。

使用 Action 委派的代碼範例

這是一個簡單的示例,展示了如何結合使用 IronPDF 和 Action 委派來執行 PDF 生成任務:

using IronPdf;
using System;
class Program
{
    static void Main(string [] args)
    {
        var renderer = new ChromePdfRenderer();
        Action<string> generatePdf = html =>
        {
            var pdf = renderer.RenderHtmlAsPdf(html);
            pdf.SaveAs("example.pdf");
        };
        generatePdf("<p>Hello, world!</p>");
        Console.WriteLine("PDF generated successfully.");
    }
}
using IronPdf;
using System;
class Program
{
    static void Main(string [] args)
    {
        var renderer = new ChromePdfRenderer();
        Action<string> generatePdf = html =>
        {
            var pdf = renderer.RenderHtmlAsPdf(html);
            pdf.SaveAs("example.pdf");
        };
        generatePdf("<p>Hello, world!</p>");
        Console.WriteLine("PDF generated successfully.");
    }
}
Imports IronPdf
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()
		Dim generatePdf As Action(Of String) = Sub(html)
			Dim pdf = renderer.RenderHtmlAsPdf(html)
			pdf.SaveAs("example.pdf")
		End Sub
		generatePdf("<p>Hello, world!</p>")
		Console.WriteLine("PDF generated successfully.")
	End Sub
End Class
VB   C#

此範例定義了一個 Action 委派,它接收 HTML 字串並使用 IronPDF 將其渲染成 PDF 文件。

生成的 PDF 然後儲存到檔案系統中。 此方法展示了如何使用委派來封裝 PDF 生成邏輯,使您的程式碼更加模組化和靈活。

C# 行為(對開發人員的運作方式):圖2

授權

C# Action(開發人員如何運作):圖3

IronPDF 提供各種開發人員的授權選項,從個人開發者許可證到企業協議。 這些授權的定價從$749開始。

結論

到現在為止,您應該已經基本了解了 C# 中的 ActionFunc 委派,以及如何使用匿名方法和 lambda 表達式。 請記住,練習是掌握委派概念的關鍵。嘗試創建您自己的範例來定義、指定和調用委派。

您可以使用 IronPDF 自由探索其功能免費試用版. 如果符合您的專案需求,您可以選擇價格為 $749 起的授權。

< 上一頁
C# 記錄(它如何對開發人員起作用)
下一個 >
C# 物件導向(對開發人員的運作方式)

準備開始了嗎? 版本: 2024.11 剛剛發布

免費 NuGet 下載 總下載次數: 11,493,407 查看許可證 >