繁体   English   中英

空值检查

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM