Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - casten von Linq-Query Ergebnissen
MHA - Fr 23.10.09 12:33
Titel: casten von Linq-Query Ergebnissen
Hallo!
Angenommen, es existieren folgende Klassen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| public class A { public bool prop1 { get; set; } public string prop2 { get; set; } ... }
public class B { private List<A> _alleA; public List<A> GetAllA(bool param) { [b]IEnumerable<A>[/b] result = _alleA.Where(obj => obj.prop1 == param).Select(obj => obj); [b]return ????[/b] } ... } |
Wie bekomme ich das Ergebnis der Linq-Abfrage am elegantesten in das richtige Format?
Oder ist es doch einfacher einfach ein Delegate
C#-Quelltext
1:
| _alleA.FindAll(delegate(A obj) { return (obj.prop1 == param); }); |
zu benutzen?
Hoffe ihr könnt mir helfen?!
Gruß
Marc
UGrohne - Fr 23.10.09 14:23
Das Select am Ende kannst Du weg lassen, Where liefert in IEnumerable<A> zurück. Willst Du daraus eine List generieren, musst Du eine neue List mittels new List<A>(result) erzeugen, allerdings bringt Dir das nur etwas, wenn Du später wirklich Änderungen vornehmen willst. Ansonsten reicht auch das IEnumerable.
MHA - Fr 23.10.09 14:32
UGrohne hat folgendes geschrieben : |
Das Select am Ende kannst Du weg lassen, Where liefert in IEnumerable<A> zurück. |
Danke für den Tip!
Die Lösung für mein Problem ist .ToList()! Aber manchmal sieht man halt den Wald vor lauter Bäumen nicht!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!