Vissza kell adnom az ienumerable-t?

Pontszám: 4,3/5 ( 64 szavazat )

A legkevésbé származtatott típus (IEnumerable) visszaadása a legnagyobb mozgásteret hagyja a mögöttes megvalósítás megváltoztatásához. Egy származtatottabb típus (IList) visszaadásával az API felhasználói több műveletet hajthatnak végre az eredménnyel kapcsolatban.

Használjam az IEnumerable-t?

Az IEnumerable előnye a késleltetett végrehajtás (általában adatbázisokkal). A lekérdezés mindaddig nem hajtódik végre, amíg ténylegesen át nem futja az adatokat. Ez egy lekérdezés, amely addig vár, amíg szükség lesz rá (más néven lusta betöltés). Ha meghívod a ToList-et, akkor a lekérdezés végrehajtódik, vagy "megvalósítható", ahogy mondani szoktam.

Az IEnumerable-t vagy az IList-et használjam?

Az IEnumerable-t akkor használja, ha egy gyűjtemény elemei között szeretne végigmenni. Az IList az, amikor a lista tartalmát nem sorrendben kívánja hozzáadni, eltávolítani és hozzáférni.

Mi az IEnumerable visszatérési típusa?

Az IEnumerable-nak csak egy GetEnumerator nevű metódusa van. Ez a metódus egy másik típust ad vissza, amely egy IEnumerator interfész . Ha bármely gyűjteményosztályban meg akarjuk valósítani a számláló logikáját, akkor annak implementálnia kell az IEnumerable interfészt (akár általános, akár nem általános).

A lista gyorsabb, mint az IEnumerable?

Tehát nem arról van szó, hogy az IEnumerable<T> „teljesítmény” vagy „futásidejű” szempontból hatékonyabb a listánál. Az IEnumerable<T> egy hatékonyabb tervezési konstrukció, mert pontosabban jelzi, hogy mire van szüksége a tervezésnek.

Enumerables (IEnumerable, IEnumerator) | C# programozási oktatóanyagok kezdőknek: 17

33 kapcsolódó kérdés található

Az IEnumerable lusta betöltés?

Az IEnumerable nem támogatja a lusta betöltést . Az IQueryable támogatja a lusta betöltést. Ezért alkalmas lapozáshoz hasonló forgatókönyvekhez.

Az IQueryable gyorsabb, mint az IEnumerable?

IQueryable: Az IQueryable a rekordot szűrő alapján kéri le. Az IQueryable gyorsabb, mint az IEnumerable . Munesh Sharma válasza mellett: Az IEnumerable betölti az adatokat a memóriába, majd egyesével alkalmazza a szűrőket, de az IQueryable egyszerre alkalmazza a szűrőket, és visszaadja az eredményt.

Miért használjuk az IEnumerable-t az MVC-ben?

Az IEnumerable a legjobb a memórián belüli gyűjtemények (például Lista, Tömb stb.) adatok lekérdezésére . Az IEnumerable nem támogatja az elemek hozzáadását vagy eltávolítását a listáról. Az IEnumerable segítségével megtudhatjuk, hogy a gyűjtemény iterálása után hány elem van a gyűjteményben. Az IEnumerable támogatja a késleltetett végrehajtást.

Mi a különbség az ICollection és az IEnumerable között?

Az IEnumerable még a listában szereplő elemek számát sem tartalmazza, ehelyett át kell iterálni az elemeket, hogy megkapja az elemek számát. ... Az ICollection egy másik típusú gyűjtemény, amely az IEnumerable-ból származik, és kiterjeszti annak funkcióját, hogy elemet adjon hozzá, eltávolítson és frissítsen a listában.

Mit jelent a IEnumerable?

Az IEnumerable egy olyan felület, amely egyetlen GetEnumerator() metódust határoz meg, amely egy IEnumerator interfészt ad vissza . Ez az alapfelület minden felsorolható, nem általános gyűjteményhez. Ez akkor működik, ha csak olvasható hozzáférést biztosít egy olyan gyűjteményhez, amely megvalósítja, hogy az IEnumerable foreach utasítással használható.

Melyik a jobb IList vagy List?

A fő különbség a List és az IList között a C#-ban az, hogy a List egy osztály, amely az index által elérhető objektumok listáját képviseli, míg az IList egy interfész, amely az index által elérhető objektumok gyűjteményét képviseli. ... Összességében a List egy konkrét típus, amely megvalósítja az IList felületet.

Mi a különbség az IEnumerable és az IQueryable között?

Adatbázisból lekérdezve az IEnumerable egy kiválasztási lekérdezést hajt végre a szerver oldalon , betölti az adatokat a memóriába az ügyféloldalon, majd szűri az adatokat. Adatbázisból lekérdezve az IQueryable végrehajtja a kiválasztási lekérdezést a szerver oldalon az összes szűrővel. Az IEnumerable Extension metódusai funkcionális objektumokat vesznek fel.

Miért használják az ICollectiont a C#-ban?

Az ICollection interfész az osztályok alapfelülete a rendszerben. Gyűjtemények névtér . ... Az IDictionary implementáció kulcs/érték párok gyűjteménye, mint például a Hashtable osztály. Az IList implementáció értékek gyűjteménye, és tagjai indexen keresztül érhetők el, mint például az ArrayList osztály.

IEnumerálható a memóriában?

Az IEnumerable csak olvasható , a List pedig nem. A számtalan típusnak van egy módszere a gyűjtemény következő elemének megszerzésére. ... A lista megvalósítja az IEnumerable-t, de a teljes gyűjteményt képviseli a memóriában.

Mi a különbség az IEnumerable és a List között?

2 válasz. Az egyik fontos különbség az IEnumerable és a List között (amellett, hogy az egyik interfész, a másik pedig egy konkrét osztály), az , hogy az IEnumerable csak olvasható, a List pedig nem . Tehát ha bármilyen állandó változtatásra van szüksége a gyűjteményében (hozzáadás és eltávolítás), akkor szüksége lesz a Listára.

Az IEnumerable egy tömb?

A tömbök megvalósítják az IEnumerable<T> parancsot , de ez a CLI tömbökre vonatkozó speciális tudásának részeként történik. Ez úgy működik, mintha explicit megvalósítás lenne (de nem az: futás közben történik). Sok eszköz nem jeleníti meg ezt a megvalósítást, ennek leírása a Tömb osztályáttekintésének Megjegyzések részében található.

Az IQueryable gyorsabb, mint a List?

A GetList(context) visszaadhat egy egyéni LINQ-szolgáltató által támogatott objektumot (például egy Entity Framework gyűjteményt), akkor valószínűleg meg szeretné hagyni az átvitt adatokat IQueryable-ként: bár a referenciaérték szerint 20-szor gyorsabb egy lista használata , ez a különbség olyan kicsi, hogy egyetlen felhasználó sem lesz képes...

Mi a különbség az ICollection és a List között?

Itt van a különbség az interfészek között: Az IEnumerable<T> csak olvasható . Hozzáadhat és eltávolíthat elemeket egy ICkollekcióhoz<T> Véletlenszerű hozzáférést (index alapján) tehet egy listához<T>

Hogyan találhatom meg egy IEnumerable List értékét?

Használsz hurkot? Vagy használd a ToList-et, és konvertáld List<T>-re, majd a következővel érheted el az értéket: var myList = list . ToList(); var count = myList[0].

Melyik a jobb IEnumerable vagy IQueryable?

Az adatok adatbázisból való lekérdezése közben az IEnumerable a szerver oldalon kiválasztja a lekérdezést, a kliens oldalon betölti az adatokat a memóriába, majd szűri az adatokat. Így több munkát végez és lassú lesz. Adatbázisból való lekérdezés közben az IQueryable kiválasztott lekérdezést hajt végre a szerver oldalon az összes szűrővel. Így kevesebb munkát végez és gyors lesz.

Mit csinálnak a modellek az MVC-ben?

A modell az MVC azon része, amely megvalósítja a tartomány logikáját. Egyszerűen fogalmazva, ez a logika az adatbázis és a felhasználói felület (UI) között továbbított adatok kezelésére szolgál . A modell tartományobjektumként vagy tartományentitásként ismert. A tartományobjektumok az ASP.NET Models mappájában tárolódnak.

Mi az a C# MVC?

Az MVC a Model, View és Controller rövidítése. Az MVC három részre osztja az alkalmazásokat: Modell, View és Controller. Modell: A modell az adatok alakját ábrázolja. A C# nyelvű osztály a modell leírására szolgál. A modellobjektumok az adatbázisból lehívott adatokat tárolják.

Az IQueryable IEnumerálható?

Az IEnumerable- t az IQueryable örökli , így az IQueryable rendelkezik az IEnumerable összes funkciójával, és ezt leszámítva saját jellemzői vannak. Mindkettőnek megvan a maga jelentősége az adatok lekérdezésében és az adatkezelésben. Lássuk mindkét funkciót, és használjuk ki mindkét szolgáltatás előnyeit a LINQ Query teljesítményének növelésére.

Mikor használjuk az IQueryable-t?

Az IQueryable olyan kifejezési objektumokat használ, amelyek eredményeként a lekérdezés csak akkor fut le, ha az alkalmazás felsorolást kér. Használja az IQueryable-t, ha ad-hoc lekérdezéseket kell futtatnia olyan adatforrásokhoz, mint a LinQ az SQL Serverhez , az Entity framework és más források, amelyek megvalósítják az IQueryable-t.

Mi az IQueryable C#?

Az IQueryable létezik a rendszerben. Linq névtér. Az IQueryable alkalmas a memórián kívüli (például távoli adatbázis, szolgáltatás) gyűjtemények adatainak lekérdezésére . Adatbázisból való lekérdezés közben az IQueryable "kiválasztási lekérdezést" hajt végre a szerver oldalon az összes szűrővel. Az IQueryable előnyös a LINQ-SQL lekérdezésekhez.