2016-03-30 4 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?"; 
} 

Gibt es eine Möglichkeit, es kürzer zu machen? Ich muss es so machen, aber finde die kürzere Option, vorzugsweise ohne Wenns.Zufallswert ohne Wenns?

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

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

Sieht wie ein guter Ort aus, um den bedingten Operator zu verwenden. Vielleicht möchten Sie auch lesen http://csharpindepth.com/Articles/Chapter12/Random.aspx –

+0

Dies sollte hier platziert werden: http://codereview.stackexchange.com/ –

Antwort

8

Sie können Ihre Strings in einem Array und Index durch generierte Nummer bewegen? Wie wäre es

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

Ich verwende dies zu verdeutlichen, dass kürzere nicht immer besser ist. Ihr Code kompiliert, ist leicht zu verstehen und erzeugt die richtigen Ergebnisse (modulo die Möglichkeit von new Random() wird mehrmals in einer engen Schleife aufgerufen).

0

{völlig sarkastische Antwort}

Sie wollen kürzer:

Verwandte Themen