Как устранить дубликаты в массиве?
У меня возникли проблемы с устранением дубликатов в моем массиве. Я хочу, чтобы пользователь ввел 5 уникальных номеров. Каждый раз, когда вводится дубликат записи, я хочу получить "дубликат записи. Повторите попытку." сообщение будет появляться до тех пор, пока пользователь не введет действительный номер.
Когда программа запускается:
если вы введете 1, затем 2, а затем еще раз 2, появится сообщение "дубликат записи". Но затем, когда вы вводите новое значение, например 3, оно все равно всплывает.
При окончательном отображении элементов в массиве: каждый элемент содержит последнее введенное вами число.
Что я уже пробовал:
public void numberCheck() { int[] numbers = new int[5]; Console.WriteLine("Enter 5 Numbers: "); var count = 0; while (count < 5) { bool duplicate = false; var input = Convert.ToInt32(Console.ReadLine()); for (var i = 0; i < numbers.Length; i++) { numbers[i] = input; var check = numbers[i]; for (var j = i + 1; j < numbers.Length; j++) { if (numbers[i] == numbers[j]) { duplicate = true; } while (duplicate == true) { Console.WriteLine("Duplicate entry. Try again."); input = Convert.ToInt32(Console.ReadLine()); if (input != check) { //numbers[i] = input; duplicate = false; } } } } count++; } Console.WriteLine(); // print out numbers array foreach (var n in numbers) { Console.WriteLine(n); } } }