.NET 2.0: Prázdny alebo nulový reťazec

Zistiť, či je text nulový (null) alebo prázdny (String.Empty, "") je častou zálažitosťou v programoch. Veľmi dobrá novinka v .NET 2.0 je statická metóda String.IsNullO­rEmpty(string). Táto metóda je oveľa prehľadnejšia a efektívnejšia, ako text == null || text == "". Dokonca je rýchlejšia, ako častý trik text.Length == 0. Totiž porovnanie text == "" je veľmi pomalé.

Pri testoch nie je String.IsNullO­rEmpty() rýchlejší, ako text.Length == 0, ale často sa zabúda na skontrolovanie, či je text nulový a po pridaní podmieny text == null je String.IsNullO­rEmpty() tým najrýchlejším zistením, či je text prázdny.

Využitie nájde napr. v triedach, ktoré načítavajú konfiguráciu. Trieda má v sebe napevno nakódované defaultné hodnoty nastavení, potom načíta zmenené hodnoty z konfiguračného súboru alebo databázy a zmení ich. Ak sa nové nastavenia načítavajú do nejakého poľa, napr. HashTable alebo niečoho podobného, tak kontrola, či nastavenie v HashTable má nejakú hodnotu je pomocou String.IsNullO­rEmpty veľmi efektívna.

string dataDir = „/App_Data“;

HashTable customSettings = LoadSettings();

if (!String.IsNu­llOrEmpty(cus­tomSettings[„da­taDir“]))
   dataDir = customSettings[„da­taDir“].ToStrin­g();