.NET 4.x Как вывести из массива? - C#
Формулировка задачи:
Есть ли возможность вывести два случайных значений из массива? этот код выводит все значения сразу в разброс и без повторений. И как сделать чтоб следующие значения выводились по нажатию кнопки? я нуб
List<string> myArr = new List<string>
{
\\ из этого массива
};
Random rand = new Random();
List<string> arr = new List<string>();
for (int i = myArr.Count; i > 0; i--)
{
int flag = rand.Next(myArr.Count);
arr.Add(myArr[flag]);
myArr.RemoveAt(flag);
}
foreach (string s in arr)
textBox1.Text += "\n" + s + Environment.NewLine;Решение задачи: «.NET 4.x Как вывести из массива?»
textual
Листинг программы
static Random random = new Random();
static Tuple<string, string> GetRandomPairFrom(List<string> source)
{
if (source.Count < 2)
throw new ArgumentException("Not enough elements", nameof(source));
int rFirstIndex = random.Next(0, source.Count);
var rFirst = source[rFirstIndex];
//swap to avoid duplicates in result
var temp = source[rFirstIndex];
source[rFirstIndex] = source[source.Count - 1];
source[source.Count - 1] = temp;
int rSecondIndex = random.Next(0, source.Count - 1);
var rSecond = source[rSecondIndex];
Tuple<string, string> result = new Tuple<string, string>(rFirst, rSecond);
return result;
}