.NET 幫助

C# 空合併運算符(對開發人員的運作方式)

發佈 2024年1月14日
分享:

簡介

空合併運算子 ?? 評估右側運算元並返回其結果,如果其為非 null 參考;否則,將返回左側運算元的值。如果左側運算元評估為非 nullable 值類型,則空條件運算子 (??) 不會評估其右側操作數。null 合併賦值運算符 ??= 僅當左側操作數評估為可為 null 類型的值時,才將右側操作數的值賦予左側操作數。如果左側的操作數評估為非 null 值,則 null 合併賦值運算符 (??=) 不會評估它的右運算元。空合併運算子類似於三元運算子。

確實在C#中,空合併運算子 (??) 是一个二元运算符。一个作用于两个操作数的运算符称为二元运算符。使用空合并运算符时,需要两个操作数,并且运算符会评估每个操作数以确定结果。现在我们来看下面在C#中的空合并和空条件运算符的用法。

如何使用 C# 空合併值類型

  1. 建立一個新的 C# 專案。

  2. 確保已安裝適當的版本。

  3. 使用空合併運算子 ??

  4. 根據需求檢查值或物件引用類型。

  5. 執行程式碼。

C&num 中的空合併操作符

C# 中的空值處理由預設提供 空合併運算子 (??)這是合併 (coalescing) 的概念,當處理可空類型或可能導致空值的表達式時,用於管理這些值。

語法

以下是空合併運算式的語法:

result = expression1 ?? expression2;
result = expression1 ?? expression2;
result = If(expression1, expression2)
VB   C#

表達式1:此表達式可能會產生一個空值。

表達式2:如果表達式1為空,這是要使用的預設值或替代表達式。

結果:儲存合併操作結果的變數。

空合併運算子提供了一種簡潔的方法,當處理可空類型時分配預設值。其主要目標是簡化代碼並有效地處理空數據。

優點

  • 簡潔性: 處理空值檢查而不需要復雜的條件語句或三元運算符。
  • 透過明確指出如果返回空值將提供預設值來改善程式碼可讀性。

在使用空值合併運算符之前,確保比較的表達式類型匹配或相容是至關重要的。

雖然有用,但過度使用運算符可能會使程式碼更難理解。當它有助於提升程式碼清晰度時,應謹慎使用。

當處理可空類型或需要預設值的情況時,空值合併運算符 (??) 在 C# 中,是一個有效管理 null 值的工具,可能有助於撰寫更簡潔和易於理解的程式碼。

null 合併運算子 ?? 具有以下類型相關的特性:

結果類型推斷

如果表達式1和表達式2具有相同的類型,則空合併運算符的結果類型與這些操作數相同,如以下代碼所示。

int? Value = null;
int result = Value ?? 10;
int? Value = null;
int result = Value ?? 10;
Dim Value? As Integer = Nothing
Dim result As Integer = If(Value, 10)
VB   C#

類型相容性

如果表達式1和表達式2具有不同的類型但其中某一個可以隱式轉換為另一個,那麼結果類型就是兩個表達式都可以隱式轉換的類型。

double? value= null;
int result = (int)(value ?? 5.5);
double? value= null;
int result = (int)(value ?? 5.5);
Imports System

Dim value? As Double= Nothing
Dim result As Integer = CInt(Math.Truncate(If(value, 5.5)))
VB   C#

類型晉升

如果表達式1和表達式2的類型不能隱式轉換,結果類型將按照C#的類型晉升規則選擇。

int? value= null;
long result = value ?? 100L;
int? value= null;
long result = value ?? 100L;
Dim value? As Integer= Nothing
Dim result As Long = If(value, 100L)
VB   C#

因此,所涉及的操作數類型和 C# 類型轉換規則決定了持有空合操作符結果的變量或表達式的類型。 (??). 為了確保在使用空合併運算符時正確處理類型和值,必須考慮兼容性和可能的類型轉換。

在 IronPDF 中合併

安裝 IronPDF

獲取 IronPDF 庫;即將推出的補丁需要它。要做到這一點,請在封裝管理器中輸入以下相同的代碼:

Install-Package IronPdf

C# Null 合併運算符(開發者使用方式):圖 1 - 安裝 IronPDF

或者,您可以使用 NuGet 套件管理器搜尋 "IronPDF" 套件。您可以在所有與 IronPDF 相關的 NuGet 套件列表中選擇並下載所需的套件。

C# 空合併運算子(開發者如何使用): 圖 2 - NuGet 套件管理員

使用 Null 合併運算符創建 PDF

一個名為 IronPDF 的 C# 庫可以用來創建和處理 PDF 文件。該庫提供了一些操作 PDF 的功能,比如格式化、文本處理和圖片管理。“Null 合併運算符”既不是 IronPDF 獨有的方法或功能,而是語言特性,並非限於特定的庫操作。

然而,如果您在 C# 代碼中使用 IronPDF 或任何其他庫,您都可以使用 null 合併運算符 (??) C# 語言提供。

為了處理空值情況或提供預設值,例如在使用 IronPDF 物件、可能返回空值的可空值類型或屬性時,您可以使用空合併運算子。

以下示例顯示了如何將空合併運算子用於 IronPDF:

using IronPdf;
using IronPdf.Pages;
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int? x = null;
            var outputstr = $@"square of <b>{x}</b> is <b>{ Math.Sqrt(x??30)}</b>";
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            pdfcreate.SaveAs("demo.pdf");
            Console.ReadKey();
        }
    }
}
using IronPdf;
using IronPdf.Pages;
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int? x = null;
            var outputstr = $@"square of <b>{x}</b> is <b>{ Math.Sqrt(x??30)}</b>";
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            pdfcreate.SaveAs("demo.pdf");
            Console.ReadKey();
        }
    }
}
Imports IronPdf
Imports IronPdf.Pages
Namespace ConsoleApp1
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim x? As Integer = Nothing
			Dim outputstr = $"square of <b>{x}</b> is <b>{Math.Sqrt(If(x, 30))}</b>"
			Dim pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr)
			pdfcreate.SaveAs("demo.pdf")
			Console.ReadKey()
		End Sub
	End Class
End Namespace
VB   C#

請記住 IronPDF (或任何資料庫) 不提供管理空值條件運算符的特殊功能或方法;而是基於一般C#語言特性和概念使用空值合併運算符來處理空值條件運算符。欲了解更多有關 IronPDF 的資訊,請點擊 這裡.

C# 空合併運算子(適用於開發人員的工作原理):圖 3 - 前述範例輸出

結論

總之,C# 的空合併運算子 (??) 是一個有用的功能,可以使在表達式和賦值中處理空值變得更簡單和更高效。這個運算符通過為開發人員提供一種明確的方式來處理可能為空值的情況來簡化代碼。這使開發人員能夠輕鬆地指定默認值或執行替代邏輯。其適應性使代碼更加簡潔和有效,簡化了空測試並增強了可讀性。

IronPDF 提供永久許可證、升級選項、一年的軟件維護和三十天的退款保證,這些都包含在 $749 Lite 套件中。用戶可以在加水印的試用期內有三十天的時間在實際應用中評估產品。點擊提供的 連結 了解更多有關 IronPDF 的價格、授權及試用版本資訊。如需了解更多 Iron Software 的產品,請查看 這裡.

< 上一頁
Datatables .NET(如何為開發人員運作)
下一個 >
Hangfire .NET Core(開發人員如何使用)

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

免費 NuGet 下載 總下載次數: 10,808,842 查看許可證 >