3

私は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のいずれかが空白かどうかを確認する必要があります。ただし、これを実行するとエラーが発生します。これを行うための適切な方法は何ですか(または私のアプローチはすべて間違っています)?

4

6 に答える 6

7

テキストボックスに値が含まれているかどうかを確認したいので、コードがその役割を果たします。発生しているエラーについてより具体的にする必要があります。次のこともできます。

if(textBox1.Text == string.Empty || textBox2.Text == string.Empty)
   {
    MessageBox.Show("You must enter a value into both boxes");
   }

編集2:@JonSkeetのコメントに基づく:

文字列の使用。OPの元の編集されていない投稿のように、比較は必要ありません。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)) 
于 2012-07-01T16:38:33.117 に答える
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の編集された回答も問題ありません。これは単なる別のアプローチです。

于 2012-07-01T17:02:31.073 に答える
1

試す

if (testString.Equals(testString2)){
}
于 2012-07-01T16:35:56.513 に答える
1

提供されたコードは正しいです、それが機能しない理由はわかりません。if (string1.Equals(string2))提案どおりに試すこともできます。

行うif (something OR something else)には、次を使用し||ます。

if (condition_1 || condition_2) { ... }
于 2012-07-01T16:37:14.973 に答える
0

を使用しますif (testString.Equals(testString2))

于 2012-07-01T16:35:25.733 に答える
0

試す:

    if (textBox1.Text == "" || textBox2.Text == "")
    {
        // do something..
    }

それ以外の:

    if (textBox1.Text == string.Empty || textBox2.Text == string.Empty)
    {
        // do something..
    }

string.Emptyは-""とは異なるためです。

于 2017-09-24T17:42:14.837 に答える