.NET 帮助

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

发布 2024年一月14日
分享:

介绍

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

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

如何使用 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 为空,则使用默认值或替代表达式。

结果:保存凝聚操作结果的变量。

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

优势

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

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

    虽然操作符很有用,但过度使用可能会使代码更难理解。 在提高代码清晰度时,应慎用。

    在处理可归零类型或需要默认值的情况时,归零凝聚运算符(??)在 C# 中,空值管理是一个有效的工具,可能有助于编写更简洁、更易懂的代码。

    对? 具备以下与类型相关的素质:

结果类型推理

如以下代码所示,如果表达式 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 独有的方法,也不是 IronPDF 独有的功能; 在翻译过程中,我们必须考虑到".NET "和 "Python "这两种语言的特点,而不是库的特定操作。

但是,如果您在 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(或任何图书馆)该工具不提供管理空值条件运算符的特殊功能或方法; 在翻译过程中,我们必须注意到,C# 语言中的空条件运算符的使用是基于 C# 语言处理空条件运算符的一般特性和概念。 要了解有关 IronPDF 特性和功能的更多信息,请访问IronPDF 演示.

输出:

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

结论

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

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

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

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

免费NuGet下载 总下载量: 11,781,565 查看许可证 >