我設法做出一個應用程序,隨機生成一個選定數量的數字,並把所有的數字放在一個富文本框中(結果我會得到從1到100 10個數字是'67,55,28,35,7,69,47,59,69,82'。但是,我想添加一個選項,您可以選擇是否希望數字是唯一的(複選框)盒子是接近最大數量箱,數量往往重複。C#隨機數生成器與唯一編號
我也不太清楚如何做到這一點,雖然,我曾嘗試在網上尋找,但大部分的答案對我來說有點太複雜了。
我到目前爲止的代碼(C#Windows Form App FYI):
int minComplexNumber = Convert.ToInt32(minComplexTextBox.Text);
int maxComplexNumber = Convert.ToInt32(maxComplexTextBox.Text);
int intergersNumber = Convert.ToInt32(intergersTextBox.Text);
int numbersLeft = intergersNumber;
resultComplexTextBox.Text = "";
if (UniqueCheckBox.Checked)
{
//Need something here
}
else
{
Random comrnd = new Random();
while (numbersLeft > 1)
{
int complexResult = comrnd.Next(minComplexNumber, maxComplexNumber);
resultComplexTextBox.Text += complexResult + ", ";
numbersLeft = numbersLeft - 1;
}
if (numbersLeft == 1)
{
int complexResult = comrnd.Next(minComplexNumber, maxComplexNumber);
resultComplexTextBox.Text += complexResult;
numbersLeft = numbersLeft - 1;
}
}
有關如何獲取唯一編號的任何建議?
你隨機能將所有可能的數字清單進行混洗,然後取前10個。或者可以存儲「已經選擇的」隨機數並比較列表中的新數。 – David
這與隨機生成器無關,但在列表中查找生成的數字,如果找到,則丟棄它並生成另一個。 –