.NET 帮助

C# 空合并运算符(开发人员如何使用)

发布 2024年一月14日
分享:

简介

空凝聚运算符 ?对右侧操作数进行求值,如果右侧操作数是非空引用,则返回其结果;否则,返回左侧操作数的值。如果左侧操作数的值是非空值类型,则空条件运算符 (??) 不对其右侧操作数求值。只有当左侧操作数求值为可空类型值时,空凝聚赋值运算符 ??= 才会将右侧操作数的值赋给左侧操作数。如果左侧操作数的值为非空值,则空凝聚赋值运算符 (??=) 不会对其右侧操作数进行运算。空凝聚运算符与三元运算符类似。

的确,在 C# 中,空凝聚运算符 (??) 是二进制运算符。作用于两个操作数的运算符称为二元运算符。使用空凝聚运算符时,需要两个操作数,运算符会对每个操作数进行评估,以确定结果。下面我们就来看看 C# 中空凝聚运算符和空条件运算符的用法。

如何使用 C#空凝聚值类型

1.创建一个新的 C# 项目。

2.确保安装了相应的版本。

3.使用空凝聚运算符 **?

4.根据要求检查值或对象引用类型。

5.运行代码。

C&num 中的空凝聚;

C# 中的空值默认由 零凝聚算子 (??),这就是在处理可为空的类型或可能导致为空的表达式时用来管理此类值的凝聚思想。

语法

以下是空凝聚运算符的语法:

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

expression1:该表达式可能会产生一个空值。

expression2:如果 expression1 为空,则将使用默认值或替代表达式。

result:结果:持有凝聚操作结果的变量。

在处理可空类型时,空凝聚运算符提供了一种分配默认值的简洁方法,这是它简化代码和有效处理空数据的主要目标。

福利

  • 简洁:处理空值检查,无需复杂的条件语句或三元运算符。
  • 通过明确说明如果返回 null,将提供默认值,提高了代码的可读性。

在使用空-凝聚操作符之前,确保比较的表达式类型匹配或兼容至关重要。

尽管该操作符很有用,但过度使用可能会使代码更难以理解。当它能提高代码的清晰度时,请尽量少用。

在处理可归零类型或需要缺省值的情况时,归零凝聚操作符 (??) 是管理空值的有效工具,可帮助编写更简洁易懂的代码。

null-coalesces ?? 运算符具有以下与类型相关的特性:

结果类型推断

如果表达式 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# 类型转换规则决定了变量或表达式的类型,这些变量或表达式将保存空凝聚运算符的结果 (??).为了保证在使用空凝聚操作符时正确处理类型和值,必须考虑兼容性和可能的类型转换。

铁中的凝聚PDF

安装 IronPDF

获取 IronPDF 库;即将发布的补丁需要它。为此,请在软件包管理器中输入以下代码:

Install-Package IronPdf

C# Null Coalescing(如何为开发人员工作):图 1 - 安装 IronPDF

或者,您也可以使用 NuGet 软件包管理器搜索软件包 "IronPDF"。您可以从与 IronPDF 相关联的所有 NuGet 软件包列表中选择并下载所需的软件包。

C# Null Coalescing(如何为开发人员工作):图 2 - NuGet 软件包管理器

使用空值聚合创建 PDF

一个名为 IronPDF 的 C# 库用于创建和处理 PDF 文档。该库提供了一些处理 PDF 的功能,如格式化、文本处理和图片管理。"空凝聚 "既不是一种方法,也不是 IronPDF 独有的功能;相反,它是一种语言特点,而不是库特有的操作。

不过,如果您在 C# 代码中使用 IronPDF 或任何其他库,您可以使用空凝聚操作符 (??) C# 语言所提供的。

例如,在处理 IronPDF 对象、可归零值类型或可能返回 null 的属性时,要处理 null 情况或提供默认值,可以使用 null-coalescing 运算符。

下面的示例展示了如何在 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 (或任何图书馆) IronPDF 并不提供管理空值条件运算符的特殊功能或方法;相反,空值凝聚运算符的使用是基于处理空值条件运算符的一般 C# 语言功能和概念。要了解有关 IronPDF 的更多信息,请点击 这里.

输出:

C# Null Coalescing(如何为开发人员工作):图 3 - 前面的输出示例

结论

总之,C# 的空凝聚操作符 (??) 是一项非常有用的功能,它使表达式和赋值中的空值处理变得更简单、更高效。该操作符为开发人员提供了一种明确的方法来处理值可能为空的情况,从而简化了代码。这使开发人员能够轻松指定默认值或执行替代逻辑。它的适应性使代码更加精简和有效,简化了空值测试并提高了可读性。

IronPDF 提供永久许可证、升级选项、一年的软件维护和 30 天退款保证,所有这些都包含在"$liteLicense "精简版软件包中。在带水印的试用期内,用户有三十天的时间在实际应用设置中对产品进行评估。点击提供的 链接 了解有关 IronPDF 成本、许可和试用版的更多信息。要了解有关 Iron Software 产品的更多信息,请查看 这里.

< 前一页
Datatables .NET(它是如何为开发人员工作的)
下一步 >
Hangfire .NET Core (开发人员的使用方式)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >