string 不可以是“可空類型”嗎?


string 不可以是“可空類型”嗎?

string? str1;
這樣報錯呀?

如果 string 類型不能成為可空類型。

我要用 str1 得到 組合框控件的 selectedvalue 值,如果 selectedvalue為null,就會出問題呀


str1=cbo1.SelectedValue.ToString();

此時,如何 cbo1.SelectedValue 為null時,就會報錯呀?

22 个解决方案

#1


string本身就是可空的 根本不用加 ?

#2


cbo1.SelectedValue 為null 你還ToString();當然報錯。
那就不是string是否是可空類型的問題
你如果這樣做就必須先判斷cbo1.SelectedValue是否為null,不是null再ToString()

#3


str1=(cbo1.SelectedValue=null?"":cbo1.SelectedValue.ToString());

#4


string str=string.empty;

#5


string 不可以是“可空類型”嗎?

str1=cbo1.SelectedValue.ToString();
當然報錯了啊LZ 你的str1如果為null那么在內存中就占有控件 如何來tostring()?
你可以這樣啊LZ
string str1="";也是空的意思
 

#6


string str = “”;
string str;

#7


引用 5 樓 zyloveyrf 的回復:
string 不可以是“可空類型”嗎?

str1=cbo1.SelectedValue.ToString();
當然報錯了啊LZ 你的str1如果為null那么在內存中就占有控件 如何來tostring()?
你可以這樣啊LZ
string str1="";也是空的意思

LZ糾正下你的str1如果為null那么在內存中就不占有空間

#8


因為它就是可空類型,所以才會出現空引用異常。

你使用之前必須判斷它是不是null,string.ToString()也是多余的。

#9


string str = string.Empty;
str = cbo1.SelectedValue??string.Empty;

#10


string 類型本身就可以為空啊!
   干嘛還要多此一舉……

#11


引用 9 樓 stardll 的回復:
string str = string.Empty;
str = cbo1.SelectedValue??string.Empty;

兩個問號,什么意思?

#12


Nullable<T>僅針對值類型,因為值類型(struct)是不能為空的,而引用類型(class)本身是可以為空的,因此沒有意義。而String是引用類型,不是值類型。

#13


string 本身就可空。

string str1=cbo1.SelectedValue;
if(str1 == null)
// 空值

#14


 看你在什么地方用了

如果提示 不能為空

可能是因為 你的數據類型不要呢不能為空

#15


sdf

#16


搞清楚null和""這個的區別

#17


可空類型是用在值類型上的,引用類型本來就可以設置為null(空引用)

#18


string str = null;
string str = "";
都是空值、看你需要用哪一種
兩者區別為:前者只聲明變量、但系統當時不予開辟內存空間
后者則為空字符串、內容為空、但系統已給其分配了一塊屬於字符串類型的內存空間

#19


string str = cbo1.SelectedValue ?? string.Empty;
當cbo1.SelectedValue == null時,str就為后面的string.Empty
否則str為cbo1.SelectedValue

#20


判斷一下就好了 沒什么大不了

#21


引用 19 樓 dongxinxi 的回復:
string str = cbo1.SelectedValue ?? string.Empty;
當cbo1.SelectedValue == null時,str就為后面的string.Empty
否則str為cbo1.SelectedValue

老大,這樣會報錯的呀。
cbo1.selectedvalue 不是 string 類型,是object 類型。

#22



string str=cbo1.SelectedValue==null?"":cbo1.SelectedValue.toString();

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com