新的Guid(字符串)抛出空引用异常,但在快速观察时却没有

时间:2010-11-02 01:25:16

标签: c# asp.net jquery asp.net-mvc-2

我有一个非常简单的C#代码(它是MVC 2中的一个控制器动作,由jQuery async post方法调用)。基本上我传入3个字符串并执行以下操作:

var g1 = new Guid(string1);

var g2 = new Guid(string2);

var g3 = new Guid(string3);

然而,在第3次guid创建时,我得到一个空引用异常。当我快速观察任务时,它运行正常,但是当我让它运行时,我总是得到异常(即使我改变了赋值的顺序或者尝试使用var g3 = new Guid(string2);传入的字符串绝对是Guids

我完全难以理解为什么一个简单的Guid任务会失败,似乎在这个过程中会发生其他事情。有什么想法,或者有没有人见过这种行为?

感谢。

2 个答案:

答案 0 :(得分:0)

变量string3null

尝试从前面的代码中找出是否存在string3变为null的选项。为了更好地衡量,请将代码更改为:

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

并尝试用它进行测试。

答案 1 :(得分:0)

你为什么使用var?您是否尝试使用Guid作为g1-g3的数据类型?而且不是使用

//if (string3 == null)

我用

if( string.IsNullOrEmpty(string3) )

因为字符串也可能是空字符串。