我能夠爲變量賦值象下面這樣:有沒有空處理字符串的方法在C#
if (Session["myVariable"] != null)
{
string variAble = Session["myVariable"].ToString();
}
有哪些檢查對象是否爲空或不是,然後分配,如果它不是一個方法空值?
我能夠爲變量賦值象下面這樣:有沒有空處理字符串的方法在C#
if (Session["myVariable"] != null)
{
string variAble = Session["myVariable"].ToString();
}
有哪些檢查對象是否爲空或不是,然後分配,如果它不是一個方法空值?
string variAble = Session["myVariable"] ?? "";
編輯稍微更穩健的形式,通過@hatchet的建議,被:
string variAble = (Session["myVariable"] ?? "").ToString();
如果他需要做ToString,那麼'=(Session [「myVariable」] ??「」)。 ToString();' – hatchet
如果'Session [「myVariable」]'不是字符串,這個工作嗎? – cadrell0
謝謝讓我測試這個方法 – MonsterMMORPG
雖然這不是什麼新東西,你可以使用conditional operator潛在簡化此:
string variable = Session["myVariable"] != null ? Session["myVariable"].ToString() : "Fallback";
你可以wr迭代一個擴展方法,因爲那些仍然使用空對象。
public static class StringExtensions
{
public static String ToNullString(this object o)
{
return o == null ? "" : o.ToString();
}
}
我會認爲這是一種欠佳,雖然 - 這將是混亂,誰就將成爲支持代碼後,甚至給你,幾個月下來的軌道。做空檢查可能會更好。
但我想這不會是整個應用程序廣泛我錯了嗎?我可以爲整個asp.net網站定義一個擴展方法嗎? – MonsterMMORPG
@ TheEvilPenguin,'StringExtensions'必須是一個靜態類 –
@MonsterMMORPG只要包含類所在的命名空間,就可以在任何引用它的程序集的地方使用它 – TheEvilPenguin
'string.IsNullOrEmpty()' –
但它不處理其他對象,如會話。如果您正在比較的對象是字符串,則可以使用。 – MonsterMMORPG
爲什麼這種方法不適合你? –