gpt4 book ai didi

c# - IDE0029 可以简化空检查 C# 6.0 ASP.NET

转载 作者:行者123 更新时间:2023-11-30 19:08:32 25 4
gpt4 key购买 nike

在我的 visual studio 2017 中,错误列表窗口中有这样一条消息。

IDE0029 Null检查可以简化

我用谷歌搜索并找到了这个链接 Null-conditional operators ?. and ?[]但我不明白。

我的代码很简单:

string varIP = Request.UserHostAddress != null ? Request.UserHostAddress : "IP null";

如何再简化呢?

最佳答案

string varIP = Request.UserHostAddress != null ? Request.UserHostAddress : "IP null";

可以用null-coalescing operator重写:

string varIP = Request.UserHostAddress ?? "IP null";

这将使用 UserHostAddress 的值,除非它为 null,在这种情况下,将使用右侧的值(“IP null”)。

如果 Request 有可能为 null,您还可以使用您在问题中提到的 null 条件运算符:

string varIP = Request?.UserHostAddress ?? "IP null";

在这种情况下,如果 Request 为 null,则左侧将评估为 null,而无需检查 UserHostAddress(否则会抛出 NullReferenceException ),并且将再次使用空合并运算符右侧的值。

关于c# - IDE0029 可以简化空检查 C# 6.0 ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56184595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com