在 C# 7.0 的时候提供更好用的模式匹配方法,支持通过 is 直接转换对应的类,但是如果是尝试转换可空的对象,那么将会提示无法编译,或转换失败 在 C# 7.0 的 is 转换是十分好用的功能,例如我写了一个 Foo 函数,支持将传入的参数转换 private static void Foo<T>(object o) { if(o is T t) { } } 此时会判断如果参数属于泛型 T 那么就转换同时拿到对象 t 用于在判断里面用 但是有小伙伴说他传入了一个 bool? 问我在什么时候…