Example #1
0
    static void Main()
    {
        CSet setA = new CSet();
        CSet setB = new CSet();

        setA.Add("milk");
        setA.Add("eggs");
        setA.Add("bacon");
        setA.Add("cereal");
        setB.Add("bacon");
        setB.Add("eggs");
        setB.Add("bread");
        CSet setC = new CSet();

        setC = setA.Union(setB);
        Console.WriteLine();
        Console.WriteLine("A: " + setA.ToString());
        Console.WriteLine("B: " + setB.ToString());
        Console.WriteLine("A union B: " + setC.ToString());

        setC = setA.Intersection(setB);
        Console.WriteLine("A intersect B: " + setC.ToString());

        setC = setA.Difference(setB);
        Console.WriteLine("A diff B: " + setC.ToString());
        setC = setB.Difference(setA);
        Console.WriteLine("B diff A: " + setC.ToString());

        if (setB.isSubset(setA))
        {
            Console.WriteLine("b is a subset of a");
        }
        else
        {
            Console.WriteLine("b is not a subset of a");
        }

        Console.ReadKey();
    }
    static void Main()
    {
        CSet setA = new CSet();
        CSet setB = new CSet();

        setA.Add(1);
        setA.Add(2);
        setA.Add(3);
        setB.Add(2);
        setB.Add(3);
        CSet setC = new CSet();

        setC = setA.Union(setB);
        Console.WriteLine();
        Console.WriteLine(setA.ToString());
        Console.WriteLine(setC.ToString());

        setC = setA.Intersection(setB);
        Console.WriteLine(setC.ToString());

        setC = setA.Difference(setB);
        Console.WriteLine(setC.ToString());

        bool flag = setB.isSubset(setA);

        if (flag)
        {
            Console.WriteLine("b is a subset of a");
        }
        else
        {
            Console.WriteLine("b is not a subset of a");
        }

        Console.ReadKey();
    }
        //---------------------------------------------------------------------------------------------------------------------------------------------
        static void Main(string[] args)
        {
            const int average = 6;
            CSet      setA    = new CSet();
            CSet      setB    = new CSet();

            for (int i = 0; i <= average; i++)
            {
                setA.Add(i);
            }

            for (int i = 5; i <= 10; i++)
            {
                setB.Add(i);
            }

            CSet.GetInfo(ref setA);
            Console.WriteLine(setA.ToString());
            Console.WriteLine();
            int c;

            CSet.GetCount(out c);
            Console.WriteLine($"Всего создано объектов: {c}");

            Console.WriteLine(setA.ToStringEven());
            Console.WriteLine(setA.ToStringUneven());
            Console.WriteLine(setA.ToStringNegative());
            Console.WriteLine();

            CSet.GetInfo(ref setB);
            Console.WriteLine(setB.ToString());

            CSet setC = setA.Union(setB);

            Console.WriteLine();
            Console.WriteLine("множество A объединённо с множеством B: " + setC.ToString());

            setC = setA.Intersection(setB);
            Console.WriteLine("пересечение множества A с множеством B: " + setC.ToString());

            setC = setA.Difference(setB);
            Console.WriteLine("симметрическая разница множества A с множеством B: " + setC.ToString());

            setC = setB.Difference(setA);
            Console.WriteLine("симметрическая разница множества B с множеством A: " + setC.ToString());

            if (setB.isSubset(setA))
            {
                Console.WriteLine("множество B является подмножеством множества A !");
            }
            else
            {
                Console.WriteLine("множество B не является подмножеством множества A !");
            }

            Console.WriteLine(new string('-', 20));

            Console.WriteLine("Сравнение двух множеств...");
            if (setA.Equals(setB))
            {
                Console.WriteLine("Множество A равносильно множеству B");
            }
            else
            {
                Console.WriteLine("Множество A не равносильно множеству B");
            }

            Console.WriteLine($"\nХэш множества A: {setA.GetHashCode()} \nХэш множества B: {setB.GetHashCode()}");

            // Проверка, является ли переменная setA типа CSet
            Console.WriteLine("\nПроверка, является ли переменная setA типа CSet...");
            if (setA is CSet)
            {
                Console.WriteLine("Переменная setA имеет тип CSet");
            }
            else
            {
                Console.WriteLine("Переменная setA не имеет тип CSet");
            }

            Console.WriteLine(new string('-', 20));

            var SET = new CSet("SET", 7);

            CSet.GetInfo(ref SET);


            Console.ReadKey();
        }