Hirdetés
- eBay-es kütyük kis pénzért
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Brogyi: CTEK akkumulátor töltő és másolatai
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- potyautas: A Magyar Néphadsereg emlékére
Ú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!
- Milyen alaplapot vegyek?
- Milyen autót vegyek?
- Hardcore café
- Olcsó vs. drága egér: melyiknél érzed meg igazán a különbséget?
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Jövedelem
- Milyen TV-t vegyek?
- Igazi csúcskészülék lett a Poco F7 Ultra
- 5.1, 7.1 és gamer fejhallgatók
- BestBuy topik
- További aktív témák...
- XFX Quicksilver RX 9070 XT White Magnetic Air Edition 16GB (3 év garancia ALZA)
- ÚJ MSI Cyborg 15 - 15.6"FHD 144Hz - Core 7 240H - 16GB - 512GB - Win11 - RTX 5060 - 3 év garancia
- ROG Strix G732LWS 17.3" FHD IPS i7-10875H RTX 2070 Super 32GB 1TB NVMe gar
- Logitech PRO-X, Yeti, G303, G502 (Bontatlan)
- SteelSeries Arctis Nova Pro Wireless (Bontatlan)
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Samsung Galaxy A14/Samsung Galaxy A34/Samsung Galaxy A54
- Vadiúj AM 4 procik! Raktáron! Kamatmentes rèszletre is! ÈRDEKLŐDJ!
- Samsung Galaxy A52s 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3074, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest
Ha gondoljátok törölhető a comment.

