2012-11-15 6 views
1

Когда это работает:C# = оператор не будет работать должным образом

if (Title != "") { 
    Server.s.Log("title found: " + Title); 
    if (TitleColor != "") { 
     NameTitle = "[" + TitleColor + Title + NameColor + "]"; 
    } else { 
     NameTitle = "[" + Title + "]"; 
    } 
} else { 
    NameTitle = ""; 
} 

Он считает, что название имеет значение, когда на самом деле, название определенно просто «», помогите мне, пожалуйста?

+0

Вы можете отлаживать код и проверить, что значение Title? –

+4

Попробуйте использовать String.IsNullOrEmpty (Title) –

+0

- это название строки? я ставлю, что это что-то вроде метки – AnthonyBlake

ответ

14

Возможно, вы путаете пустую строку с нулевым значением. Попробуйте это:

if (!string.IsNullOrEmpty(Title)) 

или это:

if (!string.IsNullOrWhitespace(Title)) 

в зависимости от ваших потребностей.

+0

Ahh, thankyou! Это именно то, что нужно, теперь работает :) –

+0

Должны ли эти методы всегда использоваться вместо ручной проверки пустой строки? –

+1

Они семантически отличаются от проверки пустой строки, так же как значение Null семантически отличается от пустой строки. Если есть сомнения, их, вероятно, следует использовать, но подумайте о том, что подходит в каждом случае. если вы знаете, что строка не Null, тогда '! =" "' будет работать. –

1

Вы уверены, что это пустая строка и не имеет значения? Это разные. Если это так, вы можете использовать String.IsNullOrEmpty().

+0

Спасибо, ты был прав :) –

1

Я считаю, что название - это строка.

Попробуйте ..

if(!string.IsNullOrEmpty(Title)) 
Смежные вопросы