- 从代码逻辑来看,
string? chk = null;
这一行不应该引发NullReferenceException
,因为这只是初始化一个null
的字符串变量。 - 错误可能出现在使用
chk
变量的其他地方,比如lstStr.Where(p => p.Equals(chk))
。当chk
为null
时,调用Equals
方法可能会有问题。
你可以尝试修改一下代码:
bool isGo = false;
if (isGo)
{
string? chk = null;
try
{
chk = "1";
List<string> lstStr = new List<string> { "1", "2", "3", "4" };
var str = lstStr.Where(p => p.Equals(chk)).ToList();
}
catch (NullReferenceException ex)
{
Console.WriteLine($"NullReferenceException caught: {ex.Message}");
}
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。