跳過到頁腳內容
.NET幫助

在 C# 中(對於開發者的運行原理)

C# 是一種功能強大且類型安全的編程語言,為開發人員提供了豐富的特性來構建複雜的應用程式。 許多編程任務的核心是運算符 - 允許我們對變數和數值執行操作的構建基塊。 本文深入探討各種類型的運算符,例如算術運算符,重點介紹它們的 優先順序、使用方法以及一些增強語言功能的新特性。 我們還將介紹 IronPDF 庫作為一種全面的 .NET PDF 工具 用於 .NET 應用程式。

算術運算符

算術運算符是任何編程語言中進行數值操作的必要部分,執行如加法、減法、乘法和除法等操作。 本節涵蓋了每個運算符的名稱、描述,並提供示例以說明它們在 C# 中的用法。

運算符名稱、描述、示例

例如,考慮基本的算術操作:

  • 加法 (+): 將兩個操作數相加。 示例: int x = 5 + 3;
  • 減法 (-): 減去右操作數或值從左操作數。 示例: int y = x - 2;
  • 乘法 () : 將兩個操作數相乘。 示例: int z = x y;
  • 除法 (/): 將左操作數/變數除以右操作數。 示例: int d = z / 2;

這些操作都很簡單,操作數是運算中涉及的值或變量,如上面示例中的 xyz

數值取反

一個有趣的單目算術運算符是數值取反 (-),它反轉數值操作數的符號。 例如,如果我們有 int x = 5;,那麼 -x 的結果將是 -5

二元運算符和運算符優先級

二元運算符,在表達式如 x op y 中表示為 "op",需要兩個操作數來執行操作。 例如,在 x + y 中,"+" 是二元運算符,x 和 y 是其操作數。 理解運算符優先級對於正確地評估多個運算符的表達式至關重要。

以示例理解運算符優先級

考慮以下示例: int result = 3 + 4 2;。 在這裡,乘法操作優先於加法,因此首先計算 4 2,然後加上 3,其結果為 11

空合併運算符

C# 中一個顯著的新特性是空合併運算符 (??),它提供了一種簡練的方法來檢查空值。 該運算符返回左操作數如果其不為空; 否則,它返回右操作數,如以下示例所示。

示例

class Program
{
    static void Main(string[] args)
    {
        int? x = null; // nullable int, initialized to null
        int y = x ?? -1; // using null coalescing operator to provide a default value
        Console.WriteLine("The value of y is: " + y); // outputs: The value of y is: -1
    }
}
class Program
{
    static void Main(string[] args)
    {
        int? x = null; // nullable int, initialized to null
        int y = x ?? -1; // using null coalescing operator to provide a default value
        Console.WriteLine("The value of y is: " + y); // outputs: The value of y is: -1
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim x? As Integer = Nothing ' nullable int, initialized to null
		Dim y As Integer = If(x, -1) ' using null coalescing operator to provide a default value
		Console.WriteLine("The value of y is: " & y) ' outputs: The value of y is: -1
	End Sub
End Class
$vbLabelText   $csharpLabel

在這個示例中,由於 x 為空,y 將是 -1。 空合併運算符簡化了對空值的檢查,尤其是在處理可空類型時。

在 C# 中(對開發者的運作方式):圖 1 - 空合併運算符名稱描述示例輸出

新特性:空合併賦值運算符

C# 新增了一個稱為空合併賦值運算符的特性,符號為 ??=。 該運算符檢查左側變量是否為空。 如果是,運算符將右側的值賦予左側變量形式。

展示空合併賦值表達式

int? a = null; // nullable int, initialized to null
a ??= 10; // Assigns 10 to a since it is null
int? a = null; // nullable int, initialized to null
a ??= 10; // Assigns 10 to a since it is null
Dim a? As Integer = Nothing ' nullable int, initialized to null
a = If(a, 10) ' Assigns 10 to a since it is null
$vbLabelText   $csharpLabel

在這裡,a 將是 10 因為操作後其最初為空。 此運算符通過減少對顯式空值檢查和賦值的需求來優化代碼。

高級操作:Lambda 聲明和類型測試

Lambda 聲明和類型測試是利用運算符進行簡短而強大功能的更高級特性。

Lambda 聲明示例

C# 中的 Lambda 表達式使用 Lambda 運算符 (=>) 創建內聯函數。 PDF 的創建和生成由 iText 7 支持,而 HTML 到 PDF 的轉換由 pdfHTML 支持。

Func<int, int, int> add = (x, y) => x + y; // Lambda function to add two integers
int sum = add(5, 3); // Calls the lambda expression with 5 and 3, returns 8
Func<int, int, int> add = (x, y) => x + y; // Lambda function to add two integers
int sum = add(5, 3); // Calls the lambda expression with 5 and 3, returns 8
Dim add As Func(Of Integer, Integer, Integer) = Function(x, y) x + y ' Lambda function to add two integers
Dim sum As Integer = add(5, 3) ' Calls the lambda expression with 5 and 3, returns 8
$vbLabelText   $csharpLabel

此代碼片段定義了一個簡單的函數來使用 Lambda 表達式兩個整數值。

使用 'is' 運算符進行類型測試

類型測試是通過 is 運算符進行的,允許您在運行時檢查類型。示例:

object obj = "Hello World"; // obj is a string
if (obj is string s) {
    Console.WriteLine(s); // Outputs: Hello World
}
object obj = "Hello World"; // obj is a string
if (obj is string s) {
    Console.WriteLine(s); // Outputs: Hello World
}
Dim obj As Object = "Hello World" ' obj is a string
Dim tempVar As Boolean = TypeOf obj Is String
Dim s As String = If(tempVar, DirectCast(obj, String), Nothing)
If tempVar Then
	Console.WriteLine(s) ' Outputs: Hello World
End If
$vbLabelText   $csharpLabel

這檢查 obj 是不是 string 類型及如果為 true 則將它賦給 s

在 C# 中(對開發者的運作方式):圖 2 - is 運算符輸出

在 C# 中操作 PDF:IronPDF 簡介

在 C# 中(對開發者的運作方式):圖 3 - IronPDF

當涉及到文檔的生成和操作時,在 C# 中管理 PDF 文件是一項常見的要求。 IronPDF 是一個全面的庫,使開發人員能夠 使用 HTML 與 IronPDF 創建 PDF,並直接在 .NET 應用程式中讀取和編輯 PDF 文檔而無需任何依賴。 本節探討了如何將 IronPDF 集成到 C# 項目中,特別是重點關注與我們之前有關於運算符和變數的討論相關的操作。

安裝 IronPDF

在深入研究 IronPDF 的功能之前,第一步是將庫集成到您的項目中。 IronPDF 可以通過 NuGet 輕鬆添加,這是 .NET 的一個受歡迎的包管理器。 通過使用 NuGet Package Manager,您可以輕鬆地將 IronPDF 包含到您的項目中。

要安裝 IronPDF,您可以使用 Package Manager Console 命令:

Install-Package IronPdf

或者,您也可以使用 Visual Studio 中的 NuGet Package Manager UI,通過搜索"IronPdf" 並將其直接安裝到您的項目中。

示例: Generating a PDF Document with Arithmetic Operations

一旦 IronPDF 添加到您的項目中,您可以開始利用其特性來生成和操作 PDF 文檔。 以下是一個簡單的示例,演示如何創建一個包含算術運算結果的 PDF 文檔,和我們之前有關於運算符的討論相關。

using IronPdf;

public class PdfGenerationExample
{
    public static void CreatePdfWithArithmeticOperations()
    {
        // Create a new PDF document
        var pdf = new HtmlToPdf();
        // HTML content with embedded C# arithmetic
        var htmlContent = @"
            <html>
                <body>
                    <h1>Arithmetic Operations Result</h1>
                    <p>Result of 3 + 4: " + (3 + 4).ToString() + @"</p>
                    <p>Result of 10 * 2: " + (10 * 2).ToString() + @"</p>
                    <p>Result of 50 / 5: " + (50 / 5).ToString() + @"</p>
                </body>
            </html>";

        // Convert HTML to PDF
        var document = pdf.RenderHtmlAsPdf(htmlContent);
        // Save the PDF to a file
        document.SaveAs("ArithmeticOperations.pdf");
    }
}
using IronPdf;

public class PdfGenerationExample
{
    public static void CreatePdfWithArithmeticOperations()
    {
        // Create a new PDF document
        var pdf = new HtmlToPdf();
        // HTML content with embedded C# arithmetic
        var htmlContent = @"
            <html>
                <body>
                    <h1>Arithmetic Operations Result</h1>
                    <p>Result of 3 + 4: " + (3 + 4).ToString() + @"</p>
                    <p>Result of 10 * 2: " + (10 * 2).ToString() + @"</p>
                    <p>Result of 50 / 5: " + (50 / 5).ToString() + @"</p>
                </body>
            </html>";

        // Convert HTML to PDF
        var document = pdf.RenderHtmlAsPdf(htmlContent);
        // Save the PDF to a file
        document.SaveAs("ArithmeticOperations.pdf");
    }
}
Imports IronPdf

Public Class PdfGenerationExample
	Public Shared Sub CreatePdfWithArithmeticOperations()
		' Create a new PDF document
		Dim pdf = New HtmlToPdf()
		' HTML content with embedded C# arithmetic
		Dim htmlContent = "
            <html>
                <body>
                    <h1>Arithmetic Operations Result</h1>
                    <p>Result of 3 + 4: " & (3 + 4).ToString() & "</p>
                    <p>Result of 10 * 2: " & (10 * 2).ToString() & "</p>
                    <p>Result of 50 / 5: " & (50 \ 5).ToString() & "</p>
                </body>
            </html>"

		' Convert HTML to PDF
		Dim document = pdf.RenderHtmlAsPdf(htmlContent)
		' Save the PDF to a file
		document.SaveAs("ArithmeticOperations.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

在這個示例中,我們創建了一個簡單的 HTML 範本,其中包含各種算術運算的結果,與我們之前討論的類似。 IronPDF 將此 HTML 內容呈現在 PDF 文檔中,展示了 C# 代碼和 HTML 如何在生成動態文檔時無縫結合。

在 C# 中(對開發者的運作方式):圖 4 - 算術運算輸出

結論

C# 中的運算符對於執行各種操作至關重要,從基本的算術到複雜的類型測試和 Lambda 表達式。 理解這些運算符,它們的優先級以及如何有效使用它們對於任何渴望掌握 C# 的開發人員都是至關重要的。 IronPDF 為開發人員提供 免費試用 以探索其功能和特性。 就如果您決定將其集成到您的生產環境中,許可證價格從 $799 開始。 隨著空合併賦值運算符等新特性的引入,C# 繼續發展,提供了更高效和簡潔的編寫代碼的方法。

常見問題解答

我如何在 C# 中執行算術運算?

在 C# 中,加法、減法、乘法和除法等算術運算是使用運算子如+-*/ 來執行的。這些運算子允許您在代碼中操作數值。

運算子優先順序在 C# 中有何重要性?

C# 中的運算子優先順序決定了表達式中運算的執行順序。例如,乘法和除法的優先順序高於加法和減法,這會影響對表達式 3 + 4 * 2 的評估,結果為 11

我如何在 C# 中處理空值?

C# 提供了空合併運算子 ?? 和空合併賦值運算子 ??= 來處理空值。這些運算子通過提供處理可空類型時的默認值來簡化檢查和賦值。

C# 中的 lambda 表達式是什麼?

C# 中的 lambda 表達式是一種使用=>語法編寫匿名函數的簡潔方法。它們允許內聯函數定義,這些函數可以捕獲變量並返回值,增強了語言的表達能力。

如何在 C# 中測試特定類型?

C# 中的 'is' 運算子用於類型測試。它檢查一個對象是否屬於特定類型,這對於安全地將該對象分配給該類型的變量非常有用,如果檢查為真。

我如何在 C# 應用程序中創建 PDF?

您可以使用 IronPDF 庫在 C# 應用程序中創建 PDF。它允許開發人員通過轉換 HTML 或修改現有 PDF,直接在 .NET 應用程序中生成、閱讀和編輯 PDF 文檔。

如何將 PDF 庫集成到我的 C# 項目中?

IronPDF 可以通過 NuGet 套件管理器集成到 C# 項目中。您可以在封裝管理器控制台中運行命令 'Install-Package IronPdf',或者在 Visual Studio 的 NuGet 套件管理器 UI 中搜尋 'IronPdf' 來安裝它。

在 C# 中使用算術運算子的示例?

在 C# 中使用算術運算子的示例包括使用 int x = 5 + 3; 進行加法,使用 int y = x - 2; 進行減法,使用 int z = x * y; 進行乘法,以及使用 int d = z / 2; 進行除法。

可以用 C# 執行哪些高級操作?

C# 的高級操作包括使用=>運算子創建內聯函數的lambda 表達式,以及使用 'is' 運算子執行運行時類型檢查以確保安全的類型測試。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。