我需要检查字典中存在的任何值或不使用 TryGetValue。 这是我的代码。
return $"{context.Headers["routingkey"]}_Killswitch_Api";
这里 -context.Headers
是字典。
这是我尝试过的:-
string keyvalue = string.Empty;
if (context.Headers.TryGetValue("routingkey",out keyvalue))
{
return $"{keyvalue}_Killswitch_Api";
}
else
{
return "_Killswitch_Api";
}
请让我知道我尝试过的方法是否正确?请建议我
您尝试的解决方案对我来说看起来不错。作为样式建议,您可以这样做,因为如果未找到该值,则输出值将初始化为 null,该字符串将内插为空字符串:
string keyvalue;
context.Headers.TryGetValue("routingkey", out keyvalue);
return $"{keyvalue}_Killswitch_Api";
请参阅文档以获取Dictionary.TryGetValue
。
是的,你正在做的事情是有效的。
如果您没有在程序中进一步使用它,则无需使用string.Empty
初始化keyvalue
。
如果你愿意,你也可以做:
string keyvalue;
if (!context.Headers.TryGetValue("routingkey", out keyvalue))
{
keyvalue = string.Empty;
}
return $"{keyvalue}_Killswitch_Api";
这基本上可以完成同样的事情。