c#中带有JObject和SelectToken的可为null的警告



我收到这些警告,代码如下:

CS8601-可能的空引用赋值。

CS8604-参数的引用参数可能为null。

我理解nullable的概念,并阅读了许多关于它的帖子(并且这个项目确实在PropertyGroup中启用了nullable(。

然而,当谈到JObject和SelectToken时,我没有发现任何能解决绿色歪歪扭扭的东西(一个是js.IsNullOrEmpty…,另一个是js.SelectToken("stuff.result…(

string[] mystring;
string responseBody = DataString.mydata;

var js = (JObject?)JsonConvert.DeserializeObject(response);
bool empty = js.IsNullOrEmpty();

if (!empty)
{
mystring[1] = js.SelectToken("stuff.result[0].meta.data").Value<string>();
}

DataString是一个有效的json。

删除?从(JObject?(或这样做:


string responseBody = DataString.mydata;

var js = (JObject?)JsonConvert.DeserializeObject(response);
var empty = js?.IsNullOrEmpty();

if (empty == false)
{
mystring[1] = js.SelectToken("stuff.result[0].meta.data", true).Value<string>();
}

最新更新