ITnetwork Flashka zdarma C# týden
Akce! Pouze tento týden sleva až 80 % na kurzy C# .NET. Lze kombinovat s akcí 50 % bodů navíc na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Diskuze: HashSet

Aktivity (4)
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.