[英]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.