#c# #variables #boolean
#c# #переменные #логическое значение
Вопрос:
Я сравниваю две строки:
bool d =
(String.Equals(ethernetHeader.Source,staticForm.textBox1.Text.ToString()));
это утверждение всегда false, даже в консоли оба такие же, как показано ниже..
ethernetHeader.Источник=00:25:64:4F:21:D9
TextBox1.Text=00:25:64:4F:21:D9
любая возможная причина??
Спасибо,
Ответ №1:
Используйте Trim
, чтобы в начале или в конце строки не было пробелов.
Boolean d = ethernetHeader.Source.Trim() == staticForm.textBox1.Text.Trim();
Ответ №2:
Используйте переопределение с помощью StringComparison .
При вызове метода сравнения строк, такого как String .Сравните, строка.Равно или строка.indexOf, вы всегда должны вызывать перегрузку, которая включает параметр типа StringComparison, чтобы вы могли указать тип сравнения, которое выполняет метод. Для получения дополнительной информации см. Рекомендации по использованию строк в .NET Framework.
http://msdn.microsoft.com/en-us/library/system.stringcomparison (v = против 110).aspx
bool d =
(String.Equals(ethernetHeader.Source, staticForm.textBox1.Text.ToString(), StringComparison.OrdinalIgnoreCase));