2014-03-24 37 views
0

我想隨機9號在每個蹤跡這樣的隨機數將是一次嘗試一些不同的......這裏是我的代碼隨機化的數字沒有在C#中重複它

  Random num1random = new Random(); 
     label1.Text = num1random.Next(1, 9).ToString(); 
     label2.Text = num1random.Next(1, 9).ToString(); 
     label3.Text = num1random.Next(1, 9).ToString(); 
     label4.Text = num1random.Next(1, 9).ToString(); 
     label5.Text = num1random.Next(1, 9).ToString(); 
     label6.Text = num1random.Next(1, 9).ToString(); 
     label7.Text = num1random.Next(1, 9).ToString(); 
     label8.Text = num1random.Next(1, 9).ToString(); 
     label9.Text = num1random.Next(1, 9).ToString(); 
+0

有很多很多的方法來隨機化一組整數。你可能會在這裏找到一些幫助:http://stackoverflow.com/questions/375351/most-efficient-way-to-randomly-sort-shuffle-a-list-of-integers-in-c-sharp –

回答

2

你真的不希望9個隨機數,你真的以隨機順序從1到9的數字:

Random r = new Random(); 
var numbers = Enumerable.Range(1,9) // create a sequence of the integers 1 through 9 
    .OrderBy(x => r.Next()) // randomize the order 
    .ToArray(); // turn the sequence into an array. 

// assign the numbers to the labels 
label1.Text = numbers[0]; 
... 
label9.Text = numbers[8]; 
2

Random.Next不保證返回9個不同的值。你應該創建價值清單,然後洗牌。

Random num1random = new Random(); 
var numbers = Enumerable.Range(1, 9).OrderBy(item => num1random.Next()).ToList(); 
label1.Text = numbers[0].ToString(); 
//other labels 
+2

我想可能已經用'item => num1random.Next()',但是:肯定 –

+0

@MarcGravell這會使排序'更隨機'吧? –

+0

hah hah; p(我想要「便宜」) –