Рандом string'ов без повторений - C#
Формулировка задачи:
Всех с наступившим Новым Годом!
Прошу помочь лишь с количеством букв в конечной строке.
Вот код:
Вот это для одной, двух и трех букв в слове соответственно:
Помогите сделать по-человечески, чтобы с textBox'а вводилось количество букв. Думаю вопрос понятен. Заранее спасибо.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
timer1.Enabled = false;
}
string[] shac = {"й","ц","у", "к","е","н","г","ш","щ","з","х","ъ",
"ф","ы","в","а","п","р","о","л","д","ж","э","я",
"ч","с","м","и","т","ь","б","ю","ё"};
//int number = 0;
//Random rand = new Random(DateTime.Now.Millisecond);
Random rand = new Random();
List<string> lst = new List<string>();
int x = 0;
private void button1_Click(object sender, EventArgs e)
{
richTextBox1.Text = "";
lst.Clear();
//try
//{
// number = Convert.ToInt32(textBox1.Text);
//}
//catch
//{
// MessageBox.Show("число");
//}
timer1.Interval = 1;
timer1.Enabled = true;
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
richTextBox1.Select(richTextBox1.Text.Length, 0);
richTextBox1.ScrollToCaret();
}
private void timer1_Tick(object sender, EventArgs e)
{
//1
string random_text = shac[rand.Next(shac.Length)];
////2
//string random_text1 = shac[rand.Next(shac.Length)];
//string random_text2 = shac[rand.Next(shac.Length)];
//string random_text = random_text1 + random_text2;
////3
//string random_text1 = shac[rand.Next(shac.Length)];
//string random_text2 = shac[rand.Next(shac.Length)];
//string random_text3 = shac[rand.Next(shac.Length)];
//string random_text = random_text1 + random_text2 + random_text3;
if (!lst.Contains(random_text))
{
lst.Add(random_text);
richTextBox1.Text += random_text + "\n";
x++;
label1.Text = "сгенерировано: " + x;
}
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
}
}//1
string random_text = shac[rand.Next(shac.Length)];
////2
//string random_text1 = shac[rand.Next(shac.Length)];
//string random_text2 = shac[rand.Next(shac.Length)];
//string random_text = random_text1 + random_text2;
////3
//string random_text1 = shac[rand.Next(shac.Length)];
//string random_text2 = shac[rand.Next(shac.Length)];
//string random_text3 = shac[rand.Next(shac.Length)];
//string random_text = random_text1 + random_text2 + random_text3;Решение задачи: «Рандом string'ов без повторений»
textual
Листинг программы
//try
//{
// number = Convert.ToInt32(textBox1.Text);
//}
//catch
//{
// MessageBox.Show("число");
//}