gpt4 book ai didi

vb.net - 在 .Net 中使用新的空条件运算符速记功能时分配默认值?

转载 作者:行者123 更新时间:2023-12-01 13:49:33 26 4
gpt4 key购买 nike

.Net 中新的 Null 条件运算符速记功能使我们能够编写如下简洁的代码:

Dim x = customer.Address?.Country

如果 customer.Address 为 null,新的语言功能是否提供提供默认值的方法?

目前我使用以下代码:

Dim x = If(customer.Address is nothing, "No Address", customer.Address?.Country)

最佳答案

您可以使用 Or 运算符。此运算符确定变量是否有效,如果有效,则分配的值。

在您的情况下,您可以使用:

Dim x = customer.Address.Country Or "No Address"

代替

Dim x = If(customer.Address is nothing, "No Address", customer.Address?.Country)

当然,这确实意味着这些变量可以有多种类型;您应该执行额外的检查以确保不同的对象类型不会破坏您的程序。

另一个例子(DomainId1):

Dim num = System.Threading.Thread.GetDomainID() Or 0
Console.WriteLine(CStr(num))
Console.Read()

控制台写出 1,因为它是有效的

但是,如果我们将其切换为使用 0 或 System.Threading.Thread.GetDomainID(),我们仍然会得到 1 作为 0 不被视为“有效”。

如果两个值都有效,则使用最右边的变量。

关于vb.net - 在 .Net 中使用新的空条件运算符速记功能时分配默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33022557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com