Как из массива выбрать неповторяющиеся элементы

125
05 марта 2022, 04:50

Есть массив Buttons, из которого необходимо выбрать Mins чисел и занести это все в массив fakeButtons P.S Желательно не через LINQ

Random rand = new Random();
int Mins = rand.Next(2, 6);
int[] Buttons = new int[9] { 1, 2, 3, 4, 5, 6, 7, 8, 9 } ;
int[] fakebuttons = new int [Mins];
Answer 1

Ну если правильно понял, то как-то так:

Random rand = new Random();
int Mins = rand.Next(2, 6);
int[] Buttons = new int[9] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] fakebuttons = Buttons.Distinct().Take(Mins).ToArray();
Answer 2

Всем спасибо за советы! Решил проблему таки через коллекции. Код:

Random rand = new Random();
int Mins = rand.Next(5, 6);
List<int> lis = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
List<int> FakeButtons = new List<int> { };
for (int i = 0; i < Mins; i++)
{
    var b = lis[new Random().Next(1, lis.Count)];
    if (!FakeButtons.Contains(b)) { FakeButtons.Add(b); }
    else { i--; }
}
READ ALSO
Как использовать X509Certificate2 от пользователя?

Как использовать X509Certificate2 от пользователя?

Доброе время сутокПодскажите, написал небольшую программу для установки сертификатов УЦ в корневые и промежуточные центры, программа вылетает...

93
Помогите сделать подобный зум

Помогите сделать подобный зум

Подскажите, как сделать подобное на js? Есть картинка по наведению на которую появляется окно в увеличенным изображениемЭдакий эффект лупы

64
оптимизация загрузки виджета vk like

оптимизация загрузки виджета vk like

Использую в верстке виджет вконтакте, проверил страницу на google page speed результат снизился значительно

78