Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Container-Klassen in Delphi

  Alt 3. Dez 2007, 11:06
Zitat von Luckie:
Da stehe ich jetzt ehrlich gesagt etwas auf dem Schlauch.
IEnumerable ist das Basisinterface für alles worüber man einen for-each machen kann.
Also für alle Datencontainer.
IEnumerable<T> ist eine Spezialisierung für einen bestimmten Itemtypen.
"LINQ over Objects" basiert auf IEnumerable<T>, genau wie viele Methoden von vielen Hunderten von Klassen mit IEnumerable<T> umgehen können.
Es nicht zu implemetnieren würde heißen, dass deine Containerklasse nur so wie in Delphi wäre: Eine weitere Klasse. Mit der Implementierung ist sie eine richtige Containerklasse, auf die du Abfragen machen kannst, die du mit einem Call an eine andere Liste anhängen kannst,...

Mit meinem Beispiel oben wäre folgende LINQ-Query möglich:
Delphi-Quellcode:
var persons := new PersonList<Person>();
// irgendws hinzufügen

var personNames :=
  (from p in persons
   where not String.IsNullOrEmpty(p.Name)
   select distinct p.Name).ToList();
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat