private string? typeOfContract
{
get { return (string?)ViewState["typeOfContract"]; }
set { ViewState["typeOfContract"] = value; }
}
Run Code Online (Sandbox Code Playgroud)
稍后在代码中我使用它如下:
typeOfContract = Request.QueryString["type"];
Run Code Online (Sandbox Code Playgroud)
我typeOfContract在行声明的声明中收到以下错误:
类型'string'必须是不可为空的值类型,以便在泛型类型或方法'System.Nullable <T>'中将其用作参数'T'
有任何想法吗?基本上,我想确保在执行操作之前"type"存在QueryString.
Joe*_*Joe 304
System.String是一个引用类型,已经"可以为空".
Nullable <T>和?后缀用于值类型,如Int32,Double,DateTime等.
Szy*_*zga 19
string不能是Nullable的参数,因为string不是值类型.String是引用类型.
string s = null;
Run Code Online (Sandbox Code Playgroud)
是一个非常有效的声明,不需要让它可以为空.
private string typeOfContract
{
get { return ViewState["typeOfContract"] as string; }
set { ViewState["typeOfContract"] = value; }
}
Run Code Online (Sandbox Code Playgroud)
因为as关键字应该工作.
csg*_*ero 13
String是一种引用类型,因此您不需要(也不能)Nullable<T>在此处使用.只需将typeOfContract声明为字符串,只需在从查询字符串中获取null后检查是否为null.或者如果要处理与null相同的空字符串值,请使用String.IsNullOrEmpty.
| 归档时间: |
|
| 查看次数: |
131965 次 |
| 最近记录: |