Есть несколько radioButton пример, (заполнены для примера, нужно случайными через цикл.)
`radioButton1.Text = tx1[0];
radioButton2.Text = tx1[1];
radioButton3.Text = tx1[2];
radioButton4.Text = tx1[3];
radioButton5.Text = tx1[4];`
Сам массив, который получается перемешенный
Random rnd = new Random();
List<string> t1 = tx1.ToList<string>();
List<string> s1 = new List<string>();
while (t1.Count != 0)
{
string temp = t1[rnd.Next(0, t1.Count - 1)];
t1.Remove(temp);
s1.Add(temp);
}
string[] dd = s1.ToArray<string>();
Как заполнить значением из string[] dd1 чтобы были разные значения для каждого radioobutton? Заранее спасибо.
(Для тех кто делать будет не забудьте кнопку в rdbList добавить, rdbList.Add(Название кнопки на форме);))
Вот на скорую руку придумал такое решение:
Имеется исходный массив str
, делаем из него другой, с которым будем работать (вдруг исходный пригодиться для чего-либо) - newStr
. Также имеется список кнопок rdbList
Будем проходить по циклу и генерировать случайное число, причём максимально возможное число определяется количеством слов в рабочем массиве. Затем по полученному числу вытаскиваем слово из массива, передаём его в Text
кнопки.
Потом, чтобы слова в кнопках не повторялись, создаём новый список на основе рабочего массива, удаляем из него использованное слово и кладём в рабочий массив, новый массив, без этого слова:
private void Test()
{
string[] str = { "1", "2", "3" };//исходный массив
string[] newStr = str.ToArray<string>();//рабочий массив
List<RadioButton> rdbList = new List<RadioButton>(); //список с кнопками
Random rnd = new Random();
int num;
for(int i=0; i<newStr.Length;i++)
{
num = rnd.Next(newStr.Length);//случайное число
rdbList[i].Text = newStr[num];//слово в текст кнопки
List<string> lst = new List<string>(newStr);
lst.RemoveAt(num);//удаляем использованное слово
newStr = lst.ToArray();//массив без использованного слова
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В C# предусмотрен механизм захвата внешних переменных в анонимных методахПриведу пример кода:
Как не хардкодить учетные записи? Какие есть варианты решения данной проблемы?
Есть игра "Найди элементы на картинке" есть две разных картинки,где нужно искать элементы