gpt4 book ai didi

c# - 如何检查类成员是否不为 null 或为空

转载 作者:行者123 更新时间:2023-11-30 13:13:31 26 4
gpt4 key购买 nike

我有一个只有这样的字符串成员的类:

public class MyClass
{
public string MyProp1 { get; set; }
public string MyProp2 { get; set; }
}

我创建一个实例:

Var myClass = new MyClass();

在代码的后面,我想知道所有成员(MyProp1 和 MyProp2)是否不为 null 或为空。我知道我当然可以使用 if,但在我的真实代码中有比 2 更多的属性。

有办法吗?

谢谢,

最佳答案

为您的属性使用基于字典的存储可能是最简单的方法:

public class MyClass
{
private IDictionary<String, String> _store;

public MyClass()
{
_store = new Dictionary<String, String>();
}

public string MyProp1 {
get { return GetOrDefault("MyProp1"); }
set { _store["MyProp1"] = value; }
}
public string MyProp2 {
get { return GetOrDefault("MyProp2"); }
set { _store["MyProp2"] = value; }
}

public Boolean HasData()
{
return _store.Any(x => !String.IsNullOrWhiteSpace(x.Value));
}

public Boolean IsEmpty()
{
return _store.All(x => String.IsNullOrWhiteSpace(x.Value));
}

private String GetOrDefault(String propertyName)
{
if (_store.ContainsKey(propertyName))
{
return _store[propertyName];
}

return String.Empty;
}
}

另一种方法是将它与默认实例进行比较:

public class MyClass
{
public string MyProp1 { get; set; }
public string MyProp2 { get; set; }

public static readonly MyClass Empty = new MyClass();

public Boolean HasData()
{
return !Empty.Equals(this);
}

public Boolean IsEmpty()
{
return Empty.Equals(this);
}
}

关于c# - 如何检查类成员是否不为 null 或为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8739420/

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