- 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());