Условие в котором проверяется, было ли использовано число
Нужно написать условие в котором проверялось было ли использовано число, например, пользователь вводит 1, потом 2, и потом еще раз вводит 1, но его просят ввести другое число
Ответы (1 шт):
Автор решения: vp_arth
→ Ссылка
Вот так, например:
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
int num;
HashSet<int> numbers = new HashSet<int>();
do {
do {
num = Convert.ToInt32(Console.ReadLine()); // todo: handle exception
if (!numbers.Add(num)) {
Console.WriteLine("Was earlier, try again");
continue;
}
} while (false);
Console.WriteLine(num);
} while (num != 0);
Console.WriteLine();
}
}
HashSet<T> хранит уникальное множество значений, с очень быстрыми операциями добавления и проверки наличия элемента в множестве.
Метод Add(T) возвращает false, если такое значение уже есть в этом множестве.