【发布时间】:2019-11-29 20:02:39
【问题描述】:
WebClient wc = new WebClient();
string code = wc.DownloadString("link");
MessageBox.Show(code); // CODE SHOWS IN MESSAGEBOX CORRECTLY.
if (textbox.Text == code)
{
MessageBox.Show("Key Approved!");
try
{
Form1 Form1 = new Form1();
Form1.Show();
this.Hide();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else
{
MessageBox.Show("This Key is incorrect.");
}
文本框内的文本是代码字符串中的文本,虽然textbox.Text == code 为假,它返回到else 参数。
知道为什么会这样吗?
【问题讨论】:
-
返回的字符串中可能有前导或尾随空格。
-
我查过了,没有。
-
我们可能需要查看您正在比较的字符串样本。还有可能包含零长度字符。您应该检查要比较的两个字符串的长度是否相同。其他可能性可能是看起来相同但实际上是不同字符的同形文字。
-
因为
textbox.Text和code不是同一个字符串。当你在某个地方显示它时,它可能看起来一样,但实际数据不一样。 -
我建议你create a hex dump对这两个字符串进行比较。
标签: c# winforms textbox messagebox