繁体   English   中英

新的Guid(string)抛出null ref异常,但是当快速查看时不会

[英]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分配失败而感到困惑,似乎在导致此问题的过程中发生了其他事情。 有什么想法,或者以前有没有人看到过这种行为?

谢谢。

变量string3null

尝试从前面的代码中找出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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM