Задать вопрос

Как запомнить число?

У меня есть переменная в которую я записываю рандомное число, но числа могут повторятся и мне нужно как-то их запомнить и в условии прописать, что они работать не будут. Да, это можно сделать с помощью условий, а если цифр будет 1000? Прописывать для каждой действие будет не удобно.
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
Morpheus_God
@Morpheus_God
Для таких вещей есть List.
Генерируете число, помещаете в список.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@KingstonKMS
Массив с цифрами, которые использовали и по нему проверяете
Ответ написан
Как вариант можно использовать HashSet - это лучше, чем брать List и постоянно его сканить.
var generatedNumbers = new HashSet<int>();
var random = new Random();

int GetRandomNumber() {
  int next;
  do {
      next = random.Next(); // Ну или ещё min-max передавать.
  } while(generatedNumbers.Contains(next))
  generatedNumbers.Add(next);
  return next;
}

В моём примере кода стоит ещё добавить какое-нибудь ещё условие выхода из цикла, иначе в определённый момент, когда все числа будут сгенерированы - произойдёт вечный цикл.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы