当最终的 return 语句被删除时,这个简单的 C# 方法变得不可编译。为什么?我会说切换已完成,因此最终返回是无法到达的。
private static object Convert(bool? predicate)
{
switch (predicate)
{
case false: return null;
case true: return null;
case null: return null;
}
return null;
}
编辑:我正在使用 C# 7.3 这可能就是原因。