Naučit se PHP Naučit se PHP
Extra 10 % bodů navíc a tričko zdarma při zadání kódu "TRIKO10"

Diskuze: HashSet

C# .NET .NET (C# a Visual Basic) HashSet American English version English version

Aktivity (3)
Avatar
Martin Vejvoda:16.7.2018 22:43

Čau, řeším menší problém s množinami. Nevíte někdo, jak zařídit, aby se kód s množinami choval stejným způsobem jako kód s intama? Tedy jak přidat prvek jen do u.Mnozina?

static void Main(string[] args)
        {
            HashSet<int> m = new HashSet<int> { 3};
            Trida u = new Trida(m);
            Trida v = new Trida(m);

            u.Mnozina.Add(50);

            foreach (int i in u.Mnozina)
                Console.WriteLine(i.ToString());

            foreach (int i in v.Mnozina)
                Console.WriteLine(i.ToString());

            //výstup:
                //3
                //50
                //3
                //50
        }
    }
    class Trida
    {
        public HashSet<int> Mnozina { get; set; }

        public Trida(HashSet<int> cisla)
        {
            Mnozina = cisla;
        }
    }

Takhle nějak by se to mělo chovat:

static void Main(string[] args)
        {
            int m = 3;
            Trida u = new Trida(m);
            Trida v = new Trida(m);

            u.Cislo = 50;

            Console.WriteLine(u.Cislo.ToString());
            Console.WriteLine(v.Cislo.ToString());

                //výstup:
                //50
                //3
        }
    }
    class Trida
    {
        public int Cislo { get; set; }

        public Trida(int cislo)
        {
            Cislo = cislo;
        }
    }
Odpovědět 16.7.2018 22:43
matika > informatika
Avatar
Odpovídá na Martin Vejvoda
Martin Vejvoda:16.7.2018 22:49

Tak už jsem to vyřešil, stačí to upravit na:

HashSet<int> m = new HashSet<int> { 3 };
HashSet<int> n = new HashSet<int>(m);
Trida u = new Trida(m);
Trida v = new Trida(n);

Taky mě to mohlo napadnout dřív…

Akceptované řešení
+5 Zkušeností
Řešení problému
Nahoru Odpovědět 16.7.2018 22:49
matika > informatika
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.