2012-06-18 25 views
3

轉換空值我有這樣的代碼。從convert.tostring()

string b=null; 
string a = Convert.ToString(b); 

參考來自:

Checking for null before ToString()

可是當我轉換b鍵字符串我只得到空值不爲空string.but一些天前,我也做了同樣的使用空convert.tostring丁文()。在那工作正常,但現在不工作。我在這裏旋轉我的腦袋,可以幫我解釋爲什麼會發生這種情況?唯一的事情是我在3.5框架但現在4.0工作。

回答

5

Convert.ToString(string)將返回字符串不變。這是框架的每個版本正確,因爲每個文檔:

你錯了,調用除了Convert.ToString((string)null)回來過什麼空值。你是什​​麼可能打電話是Convert.ToString((object)null)。這will return空字符串。

string a = Convert.ToString((object)null); 
string b = Convert.ToString((string)null); 
// a now equals string.Empty, but b equals null. 

你可以施放串b一個對象,我都做了,但我會建議你使用null-coalescing操盤手:

string a = b ?? string.Empty 
+0

是的,我明白,我們需要傳遞空值作爲對象數據類型不串數據類型。你也是對的。 –

0

試試這個:

字符串=(B == null)? string.Empty:b;

+1

這相當於'string a = b ?? string.Empty' – miniBill

0

當我們正在做任何轉換時,試着檢查它是否爲空。

嘗試做這樣的

if(!String.IsNullOrEmpty(b)) 
{ 
string c=Convert.ToString(b); 
} 
相關問題