繁体   English   中英

C#Bool变量始终为false

[英]C# Bool Variable always false

我正在比较两个字符串:

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

任何可能的原因?

谢谢,

使用Trim以便在字符串的开头或结尾没有空格。

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

对StringComparison使用替代。

当您调用字符串比较方法(例如String.Compare,String.Equals或String.IndexOf)时,应始终调用包含StringComparison类型参数的重载,以便您可以指定该方法执行的比较类型。 有关更多信息,请参见.NET Framework中使用字符串的最佳实践。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM