我正在阅读《Professional F# 2.0》这本书作者展示了以下代码
let a string : option = None
if a.IsNone then
System.Console.WriteLine("a is none")
else
System.Console.WriteLine("a is some");;
然后说
“这使得 Option 的使用大大优于 null 的使用,并且在消除运行时抛出的重要异常来源方面大有帮助”
行。所以我写
System.Console.WriteLine(a.GetType());;
我得到
System.NullReferenceException:对象引用未设置为对象的实例。在 System.Object.GetType() at .$FSI_0008.main@() 由于错误而停止
我就像'un!!!'
真的是怎么做的
if a.isSome then
do bla bla
any different from
if a != null then
do bla bla
所以我看不到程序员是如何从 NullPointers 中拯救出来的
PS:NullPointerException 过去让我很伤心。