gpt4 book ai didi

c# - 检查空字符串属性的函数?

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:44 24 4
gpt4 key购买 nike

我有一个具有 string 属性的对象,例如,一个具有体重和高度的 Patient 对象。

但是当属性为 null 时,我的代码在尝试使用它时会失败,因为属性设置为 null。我正在尝试创建一个函数来检查字符串/属性是否为 null,如果是,则将属性设置为 ""

我知道我可以做到:

if(string.isNullOrEmpty(patient.weight)) patient.weight = "";

但我需要代码尽可能干净,而且我有很多属性,所以我不想手动检查每一个。理想情况下,我希望有一个函数可以接受字符串(即使它为 null 也不会失败),并且如果它不为 null 则简单地返回该值,如果它不为空则返回 ""为空。

谁能给我一些线索?

最佳答案

就我个人而言,我会通过这样写来确保这些属性永远不会为空:

private string _Name = string.Empty;
public string Name
{
get
{
return _Name;
}
set
{
_Name = value ?? string.Empty;
}
}

但是,您正在寻找的可能是 ?? 运算符,也称为 null-coalescing operator ,如上所用,基本上,这个表达式:

x = y ?? z;

意思和这个一样:

if (y != null)
x = y;
else
x = z;

这也不完全正确。在上面的示例中,y 被计算了两次,这不会发生在 ?? 运算符中,因此更好的近似是这样的:

var temp = y;
if (temp != null)
x = temp;
else
x = z;

关于c# - 检查空字符串属性的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7827478/

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