Условие в котором проверяется, было ли использовано число

Нужно написать условие в котором проверялось было ли использовано число, например, пользователь вводит 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, если такое значение уже есть в этом множестве.

→ Ссылка