[英]new Guid(string) is throwing a null ref exception but not when quick watched
我有一段非常简单的C#代码(这是MVC 2中的一个控制器动作,由jQuery异步post方法调用)。 基本上,我传入3个字符串并执行以下操作:
var g1 = new Guid(string1);
var g2 = new Guid(string2);
var g3 = new Guid(string3);
但是,在第三个GUID创建中,我得到了一个空引用异常。 当我快速查看分配时,它工作正常,但是当我让它运行时,我总是会得到异常(即使当我更改分配的顺序或尝试执行var g3 = new Guid(string2);传入的字符串也绝对是Guid 。
我完全为为什么简单的Guid分配失败而感到困惑,似乎在导致此问题的过程中发生了其他事情。 有什么想法,或者以前有没有人看到过这种行为?
谢谢。
变量string3
为null
。
尝试从前面的代码中找出string3
可以变为null。 为了更好的措施,将代码更改为此:
if (string3 == null)
throw new Exception("string3 was null");
并尝试进行测试。
为什么要使用var? 您是否尝试过将Guid用作g1-g3的数据类型? 并且也代替使用
//if (string3 == null)
我会用
if( string.IsNullOrEmpty(string3) )
因为该字符串也可以是空字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.