关于Nullable 类型
昨天同事跟我说尽量少用try{}catch(),因为比较耗性能, 对于值类型的转型可以用Nullable类型转然后判空, 如:
float? size = value as float?;
if (size.HasValue)
...
改写后发现原来的功能不工作了,,size始终得不到值,,跟踪后发现value必须为float型才能转型成功。
然而自己平时都是习惯于不显示声明数值的类型 如:item.Tag = 3; item.Tag = 4.5;
问题就出在于这样写,,赋值3系统会默认用int类型, 4.5系统会用double类型, 所以导致了上面的size始终得不到值, 看来以后要养成习惯使用 item.Tag = 4.5f;