2010-01-13 5 views
1

У меня есть один вопросНулевого значения проверки

attrval[5] = WrmService.WindowsAgent.AgentVersion; 

Из выше, если attrval [5] является нулевым или не получает никакого значения или какую-либо другую числовых значений строки я хочу назначить attrval [5] на значение «0.0 .0.0 'в противном случае я буду отображать числовое значение, которое наступает. Какое кодирование я должен здесь реализовать

и, наконец, в пользовательском интерфейсе есть две возможные возможности: одно значение равно 0.0.0.0 или числовое значение. если 0.0.0.0 я отобразит строку «Unknown» из файла ресурсов или я отобразит числовое значение в 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)

ответ

1

Сравнение с null и сравнение с определенным значением, которое не представляет ценности это не одно и то же. Если это все, о чем вы просите, тогда вам нужно проверить оба отдельно.

Однако я не знаю достаточно о WrmService, чтобы сказать, возможно ли значение null.

0

Чтобы ответить на ваш основной вопрос 0.0.0.0 не соответствует null.

Ваш тест должен быть:

if (Data.AgentVersion == null || Data.AgentVersion.Equals("0.0.0.0") 

предполагая Data.AgentVersion строка.

Возможно, вы захотите что-то реализовать в тех же строках, что и String.IsNullOrEmpty, которые вы можете вызвать там, где вам нужно, чтобы пройти этот тест.

+0

это будет ответ для второго, но для первого, что делать для attrval [5] – peter

+0

@peter - я не уверен, что я следую. @ Ответ Роберта кажется хорошим для этого. Если нет, то вы можете уточнить свой вопрос с дополнительной информацией. – ChrisF

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";

+0

вот то, что я хочу, мне нужно только два выхода, это может быть 0.0.0.0 или может быть числовое значение – peter

+0

, что относительно 1.1.0.1 или 0.1.2.3 являются допустимыми значениями – Robert

+0

Microsoft.VisualBasic.Информация для этого пространства имен, которое я хочу использовать – peter

Смежные вопросы