C#可空字符串错误
private string? typeOfContract {
get { return (string?)ViewState["typeOfContract"]; }
set { ViewState["typeOfContract"] = value; }
}
代码后来我用这样的:C#可空字符串错误
typeOfContract = Request.QueryString["type"];
我收到以下错误在typeOfContract
行的声明指出:
类型“字符串“必须是非空值类型,以便在通用类型或方法中使用 它作为参数'T' 'System.Nullable < T>'
任何想法?基本上,我想在执行操作之前确保"type"
存在于QueryString
中。
回答:
System.String是一个引用类型,它已经是“可空”的。
Nullable < T> and the?后缀是值类型,如Int32,Double,DateTime等。
回答:
您正在使其变得复杂。 string
已经可以为空。您无需制作更多即可。取出物业类型上的?
。
回答:
字符串不能是Nullable的参数,因为字符串不是值类型。字符串是一个引用类型。
string s = null;
是一个非常有效的声明,并且不需要使其可以为空。
private string typeOfContract {
get { return ViewState["typeOfContract"] as string; }
set { ViewState["typeOfContract"] = value; }
}
应该因为为关键字的工作。
回答:
字符串是一个引用类型,所以你不需要(也不能)在这里使用Nullable<T>
。只需将typeOfContract声明为字符串,并在从查询字符串中获取它之后检查null。或者,如果要处理与空字符串相同的空字符串值,请使用String.IsNullOrEmpty。
回答:
对于可为空,使用?
与所有的C#图元,除了字符串。
下页给出了C#原语的列表: http://msdn.microsoft.com/en-us/library/aa711900(v=vs.71).aspx
以上是 C#可空字符串错误 的全部内容, 来源链接: utcz.com/qa/257463.html