错误 CS0165 使用未分配的局部变量 'json'
Error CS0165 Use of unassigned local variable 'json'
我正在尝试使用键 Correlation-Context
从 HttpContext
获取值,但我不确定为什么在尝试使用变量 json
时出现错误。
internal static CorrelationContext GetCorrelationContext(this IHttpContextAccessor accessor)
{
return accessor.HttpContext?.Request.Headers.TryGetValue("Correlation-Context", out var json) is true
? JsonConvert.DeserializeObject<CorrelationContext>(json.FirstOrDefault())
: null;
}
我得到的错误是:
Error CS0165 Use of unassigned local variable 'json'
我正在使用net 5.0
的目标框架
虽然这对我们来说很明显,但我认为编译器理解如果 HttpContext
是 null
则语句将计算为 false
有点太复杂了。
您可以通过移动添加空检查而不是使用 ?.
:
来修复您的方法
internal static CorrelationContext GetCorrelationContext(this IHttpContextAccessor accessor)
{
if (accessor.HttpContext == null)
{
return null;
}
return accessor.HttpContext.Request.Headers.TryGetValue("Correlation-Context", out var json)
? JsonConvert.DeserializeObject<CorrelationContext>(json.FirstOrDefault())
: null;
}
我正在尝试使用键 Correlation-Context
从 HttpContext
获取值,但我不确定为什么在尝试使用变量 json
时出现错误。
internal static CorrelationContext GetCorrelationContext(this IHttpContextAccessor accessor)
{
return accessor.HttpContext?.Request.Headers.TryGetValue("Correlation-Context", out var json) is true
? JsonConvert.DeserializeObject<CorrelationContext>(json.FirstOrDefault())
: null;
}
我得到的错误是:
Error CS0165 Use of unassigned local variable 'json'
我正在使用net 5.0
虽然这对我们来说很明显,但我认为编译器理解如果 HttpContext
是 null
则语句将计算为 false
有点太复杂了。
您可以通过移动添加空检查而不是使用 ?.
:
internal static CorrelationContext GetCorrelationContext(this IHttpContextAccessor accessor)
{
if (accessor.HttpContext == null)
{
return null;
}
return accessor.HttpContext.Request.Headers.TryGetValue("Correlation-Context", out var json)
? JsonConvert.DeserializeObject<CorrelationContext>(json.FirstOrDefault())
: null;
}