Кто-нибудь знает, исправлена ли ошибка IsNullOrEmpty в версии 3.0 или новее? В настоящее время я столкнулся с ошибкой (NullReferenceException) в 2.0 и обнаружил документацию, в которой говорится, что она должна быть исправлена в следующем выпуске, но нет однозначного ответа.
Я нашел немного информации по этому вопросу:
Эта ошибка была исправлена в Служба Microsoft .NET Framework 2.0 Пакет 1 (SP1).
Работает с .NET 3.5SP1. Тестовая программа для тех, кто хочет ее попробовать (в основном из отчета об ошибке):
using System; class Test { static void Main(string[] args) { Console.WriteLine("starting"); ShowBug(null); Console.WriteLine("finished"); Console.ReadLine(); } static void ShowBug(string x) { for (int j = 0; j < 10; j++) { if (String.IsNullOrEmpty(x)) { //TODO: } } } }
Скомпилировать с помощью / o + / debug- из командной строки.
Microsoft сообщила об этой ошибке как исправленной на сайте Connect . Если вы все еще можете повторить проблему, я призываю вас повторно представить регрессию.
Я думаю, это зависит от того, где вы столкнулись с этой ошибкой. Если вы столкнулись с этим, например, в адаптере таблицы, то это потому, что сами свойства настроены так, чтобы возвращать это исключение, когда значение равно нулю.