【发布时间】:2018-01-17 18:36:31
【问题描述】:
我正在使用 ASP.NET 网络表单,我有一个这样的片段:
string errorId = Request["errorid"];
if (errorId != null) ...
Resharper 对第二行说“表达式始终为真”,并希望删除条件。
文档https://msdn.microsoft.com/en-us/library/system.web.httprequest.item(v=vs.110).aspx明确表示如果找不到指定的键,则返回NULL。
为什么 R# 认为索引器永远不能返回 null?除了忽略警告之外,我还能做些什么来解决它?
我在撰写本文时使用的是最新版本 (2017.3.1)
【问题讨论】:
-
看看这个question。
-
@BWA 总结一下我的理解,JetBrains 的某个人手动搜索了大量 .NET API 并记录了哪些永远不会返回 null,并将其硬编码到 Resharper 中,但他们已经在这种情况下有错误吗?