- dynamisches Listenobjekt zum verwalten beliebiger Objekte
using System.Collections.Generic; // Objekt, dass in die Liste soll class TParameter { public double a = 0.0; public double b = 0.0; public string sName = ""; public TParameter(double da, double db, string sText) { a = da; b = db; sName = sText; } } // Liste erzeugen List<TParameter> Parameters = new List<TParameter>(); // Element hinzufügen Parameters.Add(new TParameter(0.2, 0.4, "P1")); // erstes Element der Liste holen TParameter Par = Parameters[0]; // alle Parameter in der Liste durchgehen foreach (TParameter Par in Parameters) { Par.a = 0.1; } // alle Elemente aus der Liste löschen Parameters.Clear(); // Liste in eine andere gleichen Typs kopieren Parameters.AddRange(SourceParameterList); // ersten Parameter suchen, dessen Wert von a > 10.0 ist TParameter Par = Parameters.Find(delegate(TParameter Par) { return Par.a > 10.0; }); // neue Liste erzeugen in der nur bestimmte Elemente einer alten Liste stehen List<TParameter> NewParameters = Parameters.FindAll(delegate(TParameter Par) { return Par.a > 10.0; }); // einfache Methode zum Sortieren einer Liste Parameters.Sort(delegate(TParameter Par1, TParameter Par2) { return Par1.sName.CompareTo(Par2.sName); });
- eine weitere Methode zum Sortieren von List
using System.Collections.Generic; // Objekt, dass in die Liste soll // muß von IComparable abgeleitet sein, damit es über // CompareTo() bei Aufruf von Sort verglichen werden kann class TParameter : IComparable { public double a = 0.0; public double b = 0.0; public TParameter(double da, double db) { a = da; b = db; } public int CompareTo(Object o) { TParameter P = o as TParameter; int iRetVal = 0; // Grundinitialisierung für this.a == ((TParameter)o).a if (P != null) { if (this.a < P.a) iRetVal = -1; // Objekt ist kleiner als das Übergebene else if (this.a > P.a) iRetVal = 1; // Objekt ist größer als das Übergebene } return iRetVal; } } // Verwendung List list = new List(); list.Add(new TParameter(0.8, 0.2)); list.Add(new TParameter(0.5, 0.4)); list.Add(new TParameter(0.1, 0.1)); list.Sort(); // ruft CompareTo() auf foreach (TParameter Par in list) Console.WriteLine(Par.a.ToString()+", "+Par.b.ToString());
- Ausgabe von Elementen einer Stringliste
using System.Collections.Generic; List<string> namen = new List<string>() { "Horst", "Ulf", "Jochen" }; string ausgabe = string.Join(", ", namen.ToArray());