Kezdőoldal » Számítástechnika » Programozás » C#-ban hogyan lehet egyesíteni...

C#-ban hogyan lehet egyesíteni több listát?

Figyelt kérdés

Van egy metódus, aminek a visszatérési érteke egy List<string>.

Van egy osztályom, mely tartalmaz adattagokat (pl. public string nev {get;set;}) és egy listát (pl. List<pelda> lista...). Ezt a listát szeretném feltölteni adattagoknak megfelelően a függvény meghívásával.

Az egyetlen ötlet ami eszembe jutott, hogy több listát készítek. Például így: List<string> nevek = Fuggveny("nev"); List<string> kor = Fuggveny("kor"); stb. Ez a megoldás persze több sebből is vérzik és ezt szeretném elkerülni.



2018. szept. 8. 20:31
1 2 3
 11/26 anonim ***** válasza:
Mi a szar folyik itt?
2018. szept. 9. 08:30
Hasznos számodra ez a válasz?
 12/26 anonim ***** válasza:
Nem olvastam végig az 1 oldalnyi f#szcibálást, de ilyet, hogy "Tehát van egy függvényem, ami különböző tartalmú listákat ad vissza aszerint, hogy milyen bemeneti paramétereket adok meg (pl. "nev"-re visszaad egy nevekből álló string listát)." nem csinálunk.
2018. szept. 9. 08:50
Hasznos számodra ez a válasz?
 13/26 A kérdező kommentje:

A függvény egy letöltött html fájlból szedi ki a szükséges adatokat Regex használata nélkül.

Esetleg ha van jobb ötleted, kérlek ne tartsd magadban.

2018. szept. 9. 08:54
 14/26 anonim ***** válasza:
Jobb ötlet: ne egyesével szedje ki a tulajdonságokat, hanem már objektumonként.
2018. szept. 9. 08:58
Hasznos számodra ez a válasz?
 15/26 anonim ***** válasza:
100%

Ilyesmire gondolsz? Ha nem, akkor tényleg írd már le érthetően, hogy mit szeretnél. És ez nem szép megoldás, pl. a "Fuggveny"-nek kéne a megfelő objektum listát visszaadnia.


    class Szemely

    {

        public List<Szemely> Lista { get; } = new List<Szemely>();


        public string Nev { get; set; }


        public int Kor { get; set; }


        public string Magassag { get; set; }


        public Szemely(string nev, int kor, string magassag)

        {

            Nev = nev;

            Kor = kor;

            Magassag = magassag;


            var nevek = Fuggveny(nameof(Nev)).GetEnumerator();

            var korok = Fuggveny(nameof(Kor)).GetEnumerator();

            var magassagok = Fuggveny(nameof(Magassag)).GetEnumerator();


            while (nevek.MoveNext() && korok.MoveNext() && magassagok.MoveNext())

            {

                Lista.Add(new Szemely(nevek.Current, int.Parse(korok.Current), magassagok.Current));

            }

        }



        private static bool vótmá = false;


        private List<string> Fuggveny(string propertyName)

        {

            if (vótmá) return new List<string>();


            // dummy adatok

            switch (propertyName)

            {

                case nameof(Nev):

                    return new List<string> {"Béla", "Józsi", "Zsombor"};

                case nameof(Kor):

                    return new List<string> {"30", "25", "42"};

                case nameof(Magassag):

                    vótmá = true;

                    return new List<string> {"150", "190", "170"};

                default:

                    throw new NotSupportedException("Invalid property name:" + propertyName);

            }

        }

    }


    class Program

    {

        static void Main(string[] args)

        {

            var x = new Szemely("Éva,", 62, "175");

        }

    }

2018. szept. 9. 12:08
Hasznos számodra ez a válasz?
 16/26 anonim ***** válasza:
Egyetlen, nagyon egyszerű kérdésre válaszolj nekem kérlek. Miért akarsz egy Személyekből álló listát eltárolni egy Személy objektumban? Ez olyan, mintha én egy autóban tárolnám az összes autómat. A világon semmi értelme, és angyon ellentmond az OOP elveinek. Inkább írd le azt, hogy konkrétan mit szeretnél elérni. Nem azt, hogy mit szeretnél leprogramozni, hanem nemes egyszerűséggel mi a végeredmény, amit el akarsz érni, mire akarod felhasználni, stb stb.
2018. szept. 9. 13:40
Hasznos számodra ez a válasz?
 17/26 anonim ***** válasza:
53%

Nem mond ellent az OOP-nek ti nem értetek hozzá :) Ez egy mesteri meg nem értett kortárs műalkotás amivel igazából ő sem tudja mit kezdjen, de ő nagy fejlesztő és vágja az OOP-t mert megtudja írni a getter-settert , de egy listába feldolgozni az elemeket már képtelen.


Sok ponton elgondolkodtató:

Mit akar ?

Tulajdonképpen mi a problémája ?

Most egy objektumot nem tud létrehozni vagy egy listát objektumokkal feltölteni ?


Egy adattal teli listából ha rendesen van kimentve megint csak nem nehéz objektumot létrehozni hiszen vigégiterálsz és kiszórod mi hova való. No de akkor minek a lista az osztályban ? Még ha statikus lenne talán lenne értelme hogy minden alkalommal ha elkészül egy új hozzáadja magát a listához. De így minden egyes példány rendelkezni fog egy üres listával.


De mit is ért ehhez a halandó földi ember ezekhez a dolgokhoz a lényeg ő ért az OOP-hez. Nem ma kezdte hanem holnap lesz egy napja :)

2018. szept. 9. 14:29
Hasznos számodra ez a válasz?
 18/26 anonim ***** válasza:

"ellentmond az OOP elveinek"


Ez hülyeség... Ezt hívják fának.


A .NET framework is szar mert az XmlEhementnek vannak XmlElement gyerekei? Nem....

2018. szept. 9. 14:33
Hasznos számodra ez a válasz?
 19/26 anonim ***** válasza:
Előző vagyok.. .persze ettől még a kérdező által elképzelt dolog lehet hülyeség:) Csak azt akartam mondani, hogy egy adott osztálypéldány simán tartalmazhat egy listányi referenciát önmagából.
2018. szept. 9. 14:35
Hasznos számodra ez a válasz?
 20/26 anonim ***** válasza:
#17: Te miért nem b#szod végre tarkón magad és takarodsz el innen?
2018. szept. 9. 14:46
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!