[英]Null value checking
我有一个问题
attrval[5] = WrmService.WindowsAgent.AgentVersion;
从上面开始,如果attrval [5]为null或没有获取任何值或除数字值以外的任何字符串,我想将attrval [5]分配给值'0.0.0.0',否则我将显示即将到来的数字值。必须在这里实施
最后在用户界面上有两种可能,一种是值是0.0.0.0或数字值。 如果它是0.0.0.0,我将显示资源文件中的“未知”字符串,或者我将在LISTVIEW中显示数字值
我正在像下面所示的那样
if(Data.AgentVersion ==null)
SubItems.Add(ResourcePolicySystemsLVI.m_nullVersion);
else
SubItems.Add(((IResourcePolicy)Data).AgentVersion);
这是否足够意味着0.0.0.0等于null还是我想将if(Data.AgentVersion == null)更改为if(Data.AgentVersion == 0.0.0.0)
与null
进行比较和与表示无值的某个值进行比较不是同一回事。 如果仅此而已,则必须分别检查两者。
但是我对WrmService
了解还不够多, WrmService
说明是否可以使用null值。
回答您的基本问题0.0.0.0
不等于null
。
您的测试应为:
if (Data.AgentVersion == null || Data.AgentVersion.Equals("0.0.0.0")
假设Data.AgentVersion
是一个字符串。
您可能想要实现与String.IsNullOrEmpty
相同的东西,您可以在需要进行此测试的任何地方调用它。
您可以尝试执行以下操作以检查是否为空或数字:
attrval[5] = (WrmService.WindowsAgent.AgentVersion == null || Microsoft.VisualBasic.Information.IsNumeric(WrmService.WindowsAgent.AgentVersion)) ? "0.0.0.0" : WrmService.WindowsAgent.AgentVersion;
或者,如果只是空检查,则可以尝试以下操作:
attrval[5] = WrmService.WindowsAgent.AgentVersion ?? "0.0.0.0";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.