扩展方法中的类型推断

Pro*_*ofK 0 .net nullable

我确信之前已经提出过这个问题,但我仔细阅读了类似问题的搜索内容并没有得出答案.

我厌倦了检查Nullable是否有值.为什么我不能分配myNullable<int> yourAgeint myAge,如果得到一个例外 yourAge是空?此外,如果我们的任何一个年龄都为空,为什么我必须进行fxning检查以避免将'deafault'分配给fxning SqlParameter?我甚至不能做文明mySqlParm = myAge.HasValue ? myAge.Value : DBNull.Value.

可空类型的固定点是什么?我们仍然必须使用'-1'来表示pkId以避免可怕的Null.我们甚至不能添加我们自己的扩展menthods因为'等等'.

为什么甚至fxning根本没有参数?为什么我们不将所有日期存储为fxning varchar(10)?

Guf*_*ffa 6

为什么我不能分配myNullable<int> yourAgeint myAge,如果得到一个例外yourAge是空?

当然可以.只需使用Value属性而不先检查:

int myAge = yourAge.Value;
Run Code Online (Sandbox Code Playgroud)

如果yourAge包含null,则会出现异常.