我是C#的新手,但似乎无法找到有关此问题的任何内容。这就是我想要做的事情:
string testString = txtBox1.Text;
string testString2 = txtBox2.Text;
if ((testString == "") || (testString2 == ""))
{
MessageBox.Show("You must enter a value into both boxes");
return;
}
基本上我需要检查txtBox1或txtBox2是否为空。但是我在运行时遇到错误。这样做的正确方法是什么(或者我的方法是错的)?
答案 0 :(得分:4)
由于您要检查文本框是否包含任何值,因此您的代码应该完成这项工作。您应该更具体地了解您所遇到的错误。你也可以这样做:
if(textBox1.Text == string.Empty || textBox2.Text == string.Empty)
{
MessageBox.Show("You must enter a value into both boxes");
}
编辑2:基于@JonSkeet评论:
根据OP的原始未编辑帖子,不需要使用string.Compare。如果想要比较字符串,String.Equals应该完成工作,StringComparison
可以用来忽略比较的情况。 string.Compare应该用于订单比较。
最初这个问题包含这个比较,
string testString = "This is a test";
string testString2 = "This is not a test";
if (testString == testString2)
{
//do some stuff;
}
if语句可以替换为
if(testString.Equals(testString2))
或以下忽略大小写。
if(testString.Equals(testString2,StringComparison.InvariantCultureIgnoreCase))
答案 1 :(得分:3)
这是一种更有效的方法,它还会检查您的文本框是否只填充空白。
// When spaces are not allowed
if (string.IsNullOrWhiteSpace(txtBox1.Text) || string.IsNullOrWhiteSpace(txtBox2.Text))
//...give error...
// When spaces are allowed
if (string.IsNullOrEmpty(txtBox1.Text) || string.IsNullOrEmpty(txtBox2.Text))
//...give error...
@ Habib.OSU的编辑答案也很好,这只是另一种方法。
答案 2 :(得分:1)
尝试
if (testString.Equals(testString2)){
}
答案 3 :(得分:1)
提供的代码是正确的,我没有看到为什么它不起作用的任何理由。
您也可以按照建议尝试if (string1.Equals(string2))
。
要执行if (something OR something else)
,请使用||
:
if (condition_1 || condition_2) { ... }
答案 4 :(得分:0)
使用if (testString.Equals(testString2))
。
答案 5 :(得分:0)
尝试:
caracter=malloc(sizeof(char));
*caracter = /*(char*)*/(65 +rand()% 25);
//sleep(1);
elemento = caracter;
而不是:
if (textBox1.Text == "" || textBox2.Text == "")
{
// do something..
}
因为string.Empty不同于 - “”。