Jes*_*ica 5 c# resharper pattern-matching c#-7.0 visual-studio-2017
我正在尝试在这行代码中使用新的 C# 7 模式匹配功能
if (Customers.SingleOrDefault(x => x.Type == CustomerType.Company) is Customer customer)
{
...
}
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,Resharper/Visual Studio 2017 给我一个警告,is Customer并显示以下消息
源表达式始终是模式类型,匹配所有非空值
不过customer也可以null吧?任何人都可以向我解释为什么它会给出这个警告吗?
你说得对!
ReSharper(不是 Visual Studio)实际上是正确的,尽管我不知道为什么这会是一个警告。
虽然Customers是 的集合Customer,但使用SingleOrDefault提示该值可能null不是Customer。
没有什么说所有来自的值Customers都是非的null。
| 归档时间: |
|
| 查看次数: |
720 次 |
| 最近记录: |