2017-01-26 7 views
-1

こんにちは私は2つのラベルの乱数を比較してどちらが大きいかを比較する必要があるコードを書いています。私は>演算子を使って2つの文字列を比較することはできません。私は方法を比較しようとしましたが、私は比較するのが難しいです。C#でのラベル値の比較

  string score1; 
      string score2; 

      Random random = new Random(); 
      score1 = lbl_Score1.Text = random.Next(1, 450).ToString(); 
      score2 = lbl_Score2.Text = random.Next(1, 450).ToString(); 

      if(score1 > score2) 
      lbl_result.Text = teamAName + " Win"; 
      else 
      lbl_result.Text = teamBName + " Win"; 

これは文字列では、すべてのヘルプは素晴らしいだろう

  int c = string.Compare(score1, score2); 

を比較します。事前に感謝

あなたが直接、文字列に変換せずに比較することができます
+6

実際の数値を格納し、評価しないのはなぜ? – Plutonix

答えて

0

そのすでに整数ので

int score1; 
int score2; 
Random random = new Random(); 
score1 = random.Next(1, 450); 
score2 = random.Next(1, 450); 
if(score1 > score2) 
lbl_result.Text = teamAName + " Win"; 
else 
lbl_result.Text = teamBName + " Win"; 
1
おそらく

演算子「>」に適用することができないというエラーを取得されるだろう

'string'と 'string'タイプのオペランドに変換する

数字を文字列と比較することはできないため、文字列はgreateできませんr以下である。ストリングの長さは大きくて小さくてもよい。整数のために使用されるより大きいおよびより小さい整数

int score1; 
int score2; 

Random random = new Random(); 
score1 = random.Next(1, 450); 
score2 = random.Next(1, 450); 

lbl_Score1.Text = score1.ToString(); 
lbl_Score2.Text = score2.ToString(); 

if(score1 > score2) 
lbl_result.Text = teamAName + " Win"; 
else 
lbl_result.Text = teamBName + " Win"; 
1

スコアは整数なので、整数として格納する必要があります。原則として、文字列変数に数値を格納しないでください。表示するには文字列に変換する必要がありますが、それはすべてです。数値を含む文字列変数に対して数学演算を実行しないようにします。

int score1; 
int score2; 

Random random = new Random(); 

score1 = random.Next(1, 450); 
score2 = random.Next(1, 450); 
lbl_Score1.Text = score1.ToString(); 
lbl_Score2.Text = score2.ToString(); 

if(score1 > score2) 
    lbl_result.Text = teamAName + " Win"; 
else 
    lbl_result.Text = teamBName + " Win"; 
2

文字列を直接比較することはできません。 2つの文字列を比較し、これらの2つの文字列が数値である場合は、Convert.Int32を使用する必要があります。

 string score1; 
     string score2; 

     Random random = new Random(); 
     score1 = lbl_Score1.Text = random.Next(1, 450).ToString(); 
     score2 = lbl_Score2.Text = random.Next(1, 450).ToString(); 

     try { 
      if(Convert.Int32(score1) > Convert.Int32(score2)) 
      lbl_result.Text = teamAName + " Win"; 
      else 
      lbl_result.Text = teamBName + " Win"; 
     } 
     catch (Exception ex) { 
      Console.WriteLine(ex); 
     } 

または

 int score1; 
     int score2; 

     Random random = new Random(); 
     score1 = random.Next(1, 450); 
     score2 = random.Next(1, 450); 
     lbl_Score1.Text = score1.ToString(); 
     lbl_Score2.Text = score2.ToString(); 

     if(score1 > score2) 
     lbl_result.Text = teamAName + " Win"; 
     else 
     lbl_result.Text = teamBName + " Win";