In den verschiedenen Sprachen stehen verschiedene Möglichkeiten zur Verfügung, einen String auf Inhalt zu prüfen. Gar nicht so sehr auf explizite Ausdrücke, sondern einfach, ob er Inhalt enthält, oder leer – je nachdem, wie in der jeweiligen Programmiersprache leer definiert wird – ist. Darauf gekommen bin ich, weil ich bei einer testhalber erstellten Konsolenanwendung einen leeren String nicht mit ausgeben wollte. In C# werden leere Strings als null oder “” initiiert.
Nun kann man natürlich auf beides prüfen, sei es mit Equals() oder einer if-clause. Noch einfacher geht es allerdings mit einem simplen Trick. Nämlich einfach die Länge des Strings gegen 0 prüfen. Nicht gegen null oder “” sondern schlicht gegen 0. Das hat den Vorteil, dass kein Objekt dafür angelegt werden muss und sorgt für eine schnelle Prüfung. Wie groß der Geschwindigkeitsvorteil ist oder sein kann, weiß ich nicht. Sicherlich mag das auch nicht für alle Situationen die richtige Wahl sein.
if (person[i].Length != 0)
{
Console.WriteLine(person[i]);
}