new Guid (строка) генерирует исключение null ref, но не при быстром просмотре - PullRequest
0 голосов
/ 02 ноября 2010

У меня довольно простой кусок кода C # (это действие контроллера в MVC 2, которое вызывается асинхронным пост-методом jQuery).Обычно я передаю 3 строки и делаю следующее:

var g1 = новый Guid (string1);

var g2 = новый Guid (string2);

var g3 =new Guid (string3);

Однако при создании 3-го guid я получаю исключение нулевой ссылки.Когда я быстро наблюдаю за назначением, оно работает нормально, но когда я просто запускаю его, я всегда получаю исключение (даже когда меняю порядок назначения или пытаюсь выполнить var g3 = new Guid (string2); передаваемые строки, безусловно, являются Guids.

Я полностью озадачен тем, почему простое назначение Guid не сработало, кажется, что в процессе происходит что-то еще, что вызывает это. Есть идеи или кто-нибудь видел такое поведение раньше?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 10 декабря 2010

Почему вы используете var?Вы пытались использовать Guid в качестве типа данных g1-g3?И также вместо использования

//if (string3 == null)

я бы использовал

if( string.IsNullOrEmpty(string3) )

, поскольку строка также может быть пустой строкой.

0 голосов
/ 02 ноября 2010

Переменная string3 равна null.

Попробуйте узнать из предыдущего кода, есть ли опция для string3, чтобы стать нулевым. Для правильной меры измените код на это:

if (string3 == null)
    throw new Exception("string3 was null");

и попробуйте проверить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...