Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查null后System.NullReferenceException异常_C#_Asp.net - Fatal编程技术网

C# 检查null后System.NullReferenceException异常

C# 检查null后System.NullReferenceException异常,c#,asp.net,C#,Asp.net,我有一个简单的函数来记录显示某些页面时可能发生的错误。 我正在使用null合并操作符来确保string.Format中没有任何null。但是,我仍然在事件日志中看到这些错误: 空合并运算符不应该阻止这种情况发生吗?您的请求。ServerVariables[“HTTP\u COOKIE”]不会检查空值 试试这个: string httpCookie = string.Empty; if (Request.ServerVariables["HTTP_COOKIE"] != null) { ht

我有一个简单的函数来记录显示某些页面时可能发生的错误。 我正在使用null合并操作符来确保string.Format中没有任何
null
。但是,我仍然在事件日志中看到这些错误:


空合并运算符不应该阻止这种情况发生吗?

您的
请求。ServerVariables[“HTTP\u COOKIE”]
不会检查空值

试试这个:

string httpCookie = string.Empty;
if (Request.ServerVariables["HTTP_COOKIE"] != null)
{
   httpCookie = Request.ServerVariables["HTTP_COOKIE"].Substring(0, (Request.ServerVariables["HTTP_COOKIE"].Length>399)?399:Request.ServerVariables["HTTP_COOKIE"].Length)
}

您的
请求.ServerVariables[“HTTP\u COOKIE”]
未检查空值

试试这个:

string httpCookie = string.Empty;
if (Request.ServerVariables["HTTP_COOKIE"] != null)
{
   httpCookie = Request.ServerVariables["HTTP_COOKIE"].Substring(0, (Request.ServerVariables["HTTP_COOKIE"].Length>399)?399:Request.ServerVariables["HTTP_COOKIE"].Length)
}

其中一个变量绝对为空。使用调试器,卢克
Request.ServerVariables[“HTTP\U COOKIE”]。子字符串(…)
-您在哪里检查null?大多数
??
运算符都不是必需的,因为
string.Format
对它接受的参数数组中的
null
引用感到满意。但是,正如其他人所说,您不能在
null
引用上调用
.Substring(…)
。您的变量之一肯定是null。使用调试器,卢克
Request.ServerVariables[“HTTP\U COOKIE”]。子字符串(…)
-您在哪里检查null?大多数
??
运算符都不是必需的,因为
string.Format
对它接受的参数数组中的
null
引用感到满意。然而,正如其他人所说,您不能在
null
引用上调用
.Substring(…)
。事实上。。。错过了那个。谢谢只能在10分钟内接受mins@Cornwell您可以创建一个扩展名,比如
publicstaticstringtruncate(这个字符串是stringOrNull,int-maxLength){return stringOrNull==null | | stringOrNull.Length@JeppeStigNielsen谢谢!确实……错过了那个。谢谢。只能在10分钟内接受它mins@Cornwell您可以创建一个扩展名,比如
publicstaticstringtruncate(这个字符串是stringOrNull,int-maxLength){returnstringornull==null | | | stringOrNull.Length@JeppeStigNielsen谢谢!
string httpCookie = string.Empty;
if (Request.ServerVariables["HTTP_COOKIE"] != null)
{
   httpCookie = Request.ServerVariables["HTTP_COOKIE"].Substring(0, (Request.ServerVariables["HTTP_COOKIE"].Length>399)?399:Request.ServerVariables["HTTP_COOKIE"].Length)
}