【发布时间】:2014-01-20 11:34:11
【问题描述】:
查看以下代码块:
//Declaring nullable variables.
//Valid for int, char, long...
Nullable<int> _intVar;
Nullable<char> _charVar;
//trying to declare nullable string/object variables
//gives compile time error.
Nullable<string> _stringVar;
Nullable<object> _objVar;
编译代码时编译器给出以下错误信息:
类型“字符串”/“对象”必须是不可为空的值类型,才能在泛型类型或方法“System.Nullable”中用作参数“T”
看了好几遍还是没看懂。任何人都可以澄清这一点吗?为什么object 或string 不支持可空引用类型?
【问题讨论】:
-
因为yiu可以直接赋值null:String value = null;对象 o = null;相反,你不能用结构来做到这一点,例如整数=空;是编译时错误
-
因为它们已经可以为空了?
string _stringVar = null;编译正常。 -
例如你不能连接空字符串
-
@WeylandYutani:这是什么意思,它有什么相关性?
-
@WeylandYutani 是的,你可以;结果定义明确(就连接而言,所有
null字符串的行为与""相同)