C#Bool变量总是假的

时间:2014-06-24 08:55:15

标签: c# variables boolean

我正在比较两个字符串:

bool d = 
    (String.Equals(ethernetHeader.Source,staticForm.textBox1.Text.ToString()));

即使在控制台中,此语句也始终为false,两者都与下面相同。

  

ethernetHeader.Source = 00:25:64:4F:21:D9

     

textBox1.Text = 00:25:64:4F:21:D9

任何可能的原因??

感谢,

2 个答案:

答案 0 :(得分:1)

使用Trim,以便在字符串的引线或末尾没有空格。

Boolean d = ethernetHeader.Source.Trim() == staticForm.textBox1.Text.Trim();

答案 1 :(得分:0)

使用StringComparison覆盖。

  

调用字符串比较方法(如String.Compare)时,   String.Equals或String.IndexOf,你应该总是调用一个重载   包括StringComparison类型的参数,以便您可以   指定方法执行的比较类型。更多   信息,请参阅在.NET中使用字符串的最佳实践   框架。

http://msdn.microsoft.com/en-us/library/system.stringcomparison(v=vs.110).aspx

bool d = 
    (String.Equals(ethernetHeader.Source, staticForm.textBox1.Text.ToString(), StringComparison.OrdinalIgnoreCase));