2016-03-30 6 views
0
Random rd = new Random(); 
int question; 
question = rd.Next(1,2); 
if(question ==1) 
{ 
    label1.Text = "What is your name?"; 
} 
if(question ==2) 
{ 
    label1.Text = "How old are you?"; 
} 

これを短縮する方法はありますか? 私はこのようにする必要がありますが、より短いオプションを見つけることができます。ifsのないランダムな値ですか?

+1

条件演算子を使用するのに適しています。 http://csharpindepth.com/Articles/Chapter12/Random.aspx –

+0

こちらをご覧ください:http://codereview.stackexchange.com/ –

答えて

8

あなたは、生成された数だけ配列とインデックスそれにあなたの文字列を移動することができます。

string[] texts = 
{ 
    "What is your name?", 
    "How old are you?" 
}; 

int index = rd.Next(0, texts.Length);    
label1.Text = texts[index]; 
0

{完全に皮肉な答え}あなたが短いたい

?どの程度

label1.Text = new Random().Next(1,2) == 1 ? "What is your name?" : "How old are you?"; 

私は短いが常に良くではないことを示すために、これを使用しています。あなたのコードはコンパイルされ、理解しやすく、正確な結果が得られます(new Random()がタイトループで複数回呼び出される可能性をモジューロします)。

関連する問題