我有一个问题
attrval[5] = WrmService.WindowsAgent.AgentVersion;
从上面如果attrval [5]为null或者没有得到任何值或除数值之外的任何字符串我想将attrval [5]分配给值'0.0.0.0'否则我会 显示即将到来的数值。我必须在这里实现什么编码
最后在UI有两种可能的机会,一个值是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)
答案 0 :(得分:1)
与null
进行比较并与某个代表无值的值进行比较并不是一回事。如果这就是你所要求的,那么你必须分别检查两者。
但是,我不太了解WrmService
是否可以说空值。
答案 1 :(得分:0)
要回答您的基本问题,0.0.0.0
不等同于null
。
您的测试应该是:
if (Data.AgentVersion == null || Data.AgentVersion.Equals("0.0.0.0")
假设Data.AgentVersion
是一个字符串。
您可能希望实现与String.IsNullOrEmpty
相同的行,您可以在需要执行此测试的地方调用它。
答案 2 :(得分:0)
您可以尝试检查空值或数字:
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";