我正在比较两个字符串:
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
任何可能的原因??
感谢,
答案 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));