gpt4 book ai didi

c# - 如果为空则为空字符串

转载 作者:IT王子 更新时间:2023-10-29 04:31:49 24 4
gpt4 key购买 nike

我的代码中有这个:

SelectList(blah, "blah", "blah", cu.Customer.CustomerID.ToString())

返回null时报错,如果CustomerID为null,如何让CustomerID为空串?

/M

最佳答案

(针对 C# 6.0 的更新)

如果您使用的是 C# 6 或更新版本(Visual Studio 2015 或更新版本),则可以使用 null-conditional operator ?. 实现此目的:

var customerId = cu.Customer?.CustomerId.ToString() ?? "";

空条件运算符的一个有用属性是,如果您想测试多个嵌套属性是否为空,它也可以“链接”:

// ensure (a != null) && (b != null) && (c != null) before invoking
// a.b.c.CustomerId, otherwise return "" (short circuited at first encountered null)
var customerId = a?.b?.c?.CustomerId.ToString() ?? "";

对于 6.0 之前的 C# 版本(VS2013 或更早版本),您可以像这样合并它:

string customerId = cu.Customer != null ? cu.Customer.CustomerID.ToString() : "";

在尝试访问其成员之前,只需检查该对象是否非空,否则返回一个空字符串。

除此之外,还有一些情况 null object模式很有用。这意味着您要确保您的 Customer 的父类(在本例中为 cu 的类型)始终 返回对象的实际实例,即使它是“空”。如果您认为它可能适用于您的问题,请检查此链接以获取示例:How do I create a Null Object in C# .

关于c# - 如果为空则为空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1660269/

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