- Nem lesz iPhone 19
- Telekom mobilszolgáltatások
- iPhone topik
- iOS alkalmazások
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- A ZTE sem maradt adós csúcstelefonnal
- Apple iPhone Air - almacsutka
- Android alkalmazások - szoftver kibeszélő topik
- Egyéves Gemini AI Pro a Google-től a magyar egyetemistáknak is
- Akciófigyelő: Kedvezményekkel nyílt új Xiaomi Partner üzlet a Westendben
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
tototos
#6600
üzenetére
Ott valamit nagyon elnézel, az input változó biztosan nem egy szöveget tartalmaz. Mondjuk ha megpróbálod kiíratni, akkor tényleg ezt kaphatod.
Az a helyzet, hogy a LINQ query szintaxis, hasonlóan a legtöbb LINQ metódushoz, nem listát ad vissza, hanem egy IEnumerable-t; leegyszerűsítve egy "képletet", hogy hogy lehet végrehajtani az általad felsorolt műveleteket. Nem is fut végig a stringlistádon ekkor még.
Ha a visszakapott IEnumerable-ön hívsz egy ToList()-et, végigfut a ciklus és megkapod a tényleges listát.
var lines = File.ReadLines(fileName);
var input = (from line in lines
where (!line.Contains("dblink"))
select line).ToList();Így már input egy List<String> lesz, benne a neked kellő sorokkal.
A metódus formában ez így nézne ki, igazából szerintem egy ilyen egyszerű szűrésnél sokkal jobban olvasható:
var lines = File.ReadLines(fileName)
.Where(line => !line.Contains("dblink"))
.ToList();---
A ToListen kívül a ToArray, ToDictionary, ToLookup metódusok hívásakor, továbbá foreach ciklussal vagy XAML bindinggal is kiértékelődik a képlet.
Nagyon oda kell figyelni arra, hogy ahány ilyet hívsz, annyiszor újrakezdi a teljes számolást! Ezért miután a képleted teljes, célszerű a ToListtel materializálni a listát, és így megspórolni a felesleges újraszámolásokat.
---
Csendben kicseréltem a ReadAllLines hívást ReadLinesra. Ennek a verziónak az a hatalmas előnye, hogy nem olvassa fel azonnal a teljes fájlt a memóriába, hanem soronként dolgozza fel, ahogy materializálódik az eredmény, memóriát spórolva. Jobban is passzol a LINQ filozófiájához.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Luck Dragon: Asszociációs játék. :)
- Nem lesz iPhone 19
- Telekom mobilszolgáltatások
- Automata kávégépek
- Notebook / laptop alkatrészek cseréje (processzor, RAM, HDD)
- sziku69: Szólánc.
- Milyen billentyűzetet vegyek?
- Kerékpárosok, bringások ide!
- sziku69: Fűzzük össze a szavakat :)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3670 100% Akkumulátor
- 157 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060
- HIBÁTLAN iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3611, 94% Akkumulátor
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3766
- Olcsó Notebook! Dell Latitude E7280! I5 7300U / 8GB DDR4 / 256GB SSD!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő

Ha gondoljátok törölhető a comment.


