一尘不染

C#可为空的字符串错误

c#

private string? typeOfContract
{
  get { return (string?)ViewState["typeOfContract"]; }
  set { ViewState["typeOfContract"] = value; }
}

稍后在代码中,我将这样使用它:

typeOfContract = Request.QueryString["type"];

在声明typeOfContract行的声明时出现以下错误:

为了在通用类型或方法“ System.Nullable ”中将其用作参数“ T”,类型“字符串”必须为非空值类型

有任何想法吗?基本上,我想确保在执行操作之前该"type"存在QueryString


阅读 267

收藏
2020-05-19

共1个答案

一尘不染

System.String是引用类型,已经是“可为空”。

Nullable 和?后缀用于值类型,例如Int32,Double,DateTime等。

2020-05-19