Ich habe das folgende Problem: Ich möchte Arbeiter Daten aus einer Textdatei lesen, die formatiert ist; worker_id;name;surname;login;
. Und dann schreibe es in eine andere Datei, die nur Zeilen ohne doppelte Logins enthält.Sortieren nach Eigenschaft mit Lambdas ohne Erstellen von Klasse
Wenn ich class worker , List<workers>
erstellen und versuchen, diesen Code:
List<worker> unics = workers
.GroupBy(w => w.login)
.Select(g => g.First())
.ToList();
Wo String login = line1.Split(';')[3];
, alles in Ordnung ist.
Aber wenn ich Lambdas benutze, ohne Klassenarbeiter zu erstellen (was im Moment NICHT notwendig ist), funktioniert es nicht.
List<string> unicsL = list1 //list1 - list of all lines1 in file
.GroupBy(x => x.Split(';')[3]) //ERROR - NullReferenceException // - Use new keyword to create object instance...
.Select(g => g.First())
.ToList();
Was ist das Problem?
Zeigen Sie, wie 'list1' und' Arbeiter 'sind bevölkert. Alles was wir wissen sind einige "IEnumerable". Oder überprüfen Sie einfach selbst: [click] (http://stackoverflow.com/q/4660142/1997232). – Sinatr
Irgendwelche Leerzeilen? oder irgendwelche Zeilen, die nicht alle 3 '; –
Die Zeilen sind in beiden Fällen gleich: Wenn Sie einen Klassenarbeiter erstellen, der sie verwendet, ist alles in Ordnung, aber wenn Sie versuchen, "richtige Zeilen" zu finden, funktioniert das nicht: ich weiß nicht, wie ich dieses Lambda erstellen soll. – Jack