Метод GetItems
С .NET 8 у Random есть
GetItems(source, count): из массива
или спана берут count элементов с
возможными повторами и возвращают новый
массив. Исходный набор не меняется. Обычно
вызывают через
Random.Shared.
Состав выборки случаен - в примерах проверяют
длину результата.
Синтаксис
int[] picked = Random.Shared.GetItems(source, 3);
Пример
Давайте выберем три числа из пяти:
using System;
class Program
{
static void Main()
{
int[] source = { 1, 2, 3, 4, 5 };
int[] res = Random.Shared.GetItems(source, 3);
Console.WriteLine(res.Length);
}
}
Результат выполнения кода:
3
Пример
Давайте запросим столько элементов, сколько в источнике:
using System;
class Program
{
static void Main()
{
int[] source = { 1, 2, 3, 4, 5 };
int[] res = Random.Shared.GetItems(source, 5);
Console.WriteLine(res.Length);
}
}
Результат выполнения кода:
5
Пример
Давайте выберем один элемент:
using System;
class Program
{
static void Main()
{
int[] source = { 1, 2, 3, 4, 5 };
int[] res = Random.Shared.GetItems(source, 1);
Console.WriteLine(res.Length);
}
}
Результат выполнения кода:
1
Смотрите также
-
метод
Shuffle,
который меняет порядок на месте -
Random.Shared,
через который вызываютGetItems -
метод
Next,
который генерирует отдельные числа -
Random,
класс с методомGetItems