SCHINDLER IT-Solutions GmbH
Neubergstrasse 27, A-2100 Stetten
Tel. +43 (0) 2262 672040 FaxDW:14
Kontaktformular

DeutschEnglish
Kontakt
iQ4bis Testen
Kunden Bereich

Benutzer:

Passwort:

andreas schindler zitat

05.03.10

.NET Framwork 4.0: String.IsNullOrWhiteSpace

Filed under: .Net Entwicklung,.net Tips & Tricks — Werner Mairl @ 07:51

 

Im .Net Framework 4.0 hat die Klasse String eine neue statische Methode “IsNullOrWhiteSpace” bekommen.

Der Name sagt eigentlich schon alles, ein Beispiel findet sich hier.

Ich habe selbst im Bereich Strings/Trim in der Vergangenheit einiges an sinnlosem und überflüssigem Code geschrieben. Durch Anwendung einiger recht einfacher Prinzipien bin ich auf eine Lösung gekommen welche den Umgang mit Leerstrings bzw. Blanks wesentlich erleichtert UND (nicht unwichtig) es hat sich in der Praxis bewährt.

Früher habe ich an unzähligen Stellen im Code “sicherheitshalber” ein Trim() ausgeführt, mein Code war geradezu übersäht davon und die Übersichtlichkeit ist dadurch nicht unbedingt gestiegen. Irgendwann hat es dann gereicht, und ich bin auf die gegenteilige Strategie umgeschwenkt:

Trim() wird vermieden (wie der Teufel das Weihwasser): ein “ “ ist genauso ein gültiger String wie ein “a”, aber auch ein abschließendes Blank “X “ ist wie ein normales Zeichen zu betrachten. Die gewohnte Funktion “String.IsnullOrEmpty” ist überall ausreichend.

Nur an Stellen wo explizit definiert ist, dass ein Leerzeichen nicht erlaubt ist wird mittels Trim() gearbeitet, und diese Stellen haben sich bis jetzt als äußerst selten herausgestellt.

An Stellen wo ich implizit annehme, dass Blanks ein Problem darstellen (könnten) habe ich es mir angewöhnt, ein Assert einzufügen (generell strotzt mein Code vor Asserts, eine Angewohnheit die ich nur Empfehlen kann). Das Assert lautet dann meist

Assert(s.Trim()==s)

Komischerweise hat keines dieser Asserts bis heute jemals zugeschlagen, und wenn doch, dann bedeutet dies nur dass ich die Stelle nochmals genau analysiere und entweder einen expliziten Check auf Blanks einbaue oder aber das Assert entfernt wird.

Die neu Funktion im .NET Framework 4.0 ist ein nettes Hilfsmittel, nur verführt es all zu leicht zum falschen Umgang mit dem Thema.