0
空值處理正如你可以通過我在問,我真的越來越深成F#:)問題的質量在F#
另一個疑問接近我的學習路徑看:空值。由於.NET框架和F#(或者框架中的任何其他語言)之間的緊密集成,如何處理它們呢?
爲了簡單起見,這裏的代碼片段:
let myfunc alist =
try
List.find (fun x -> true) alist
with
| :? KeyNotFoundException as ex -> (* should return null *)
我怎樣才能在一個函數返回一個空?
null
關鍵字無用,除非得到確認(nil
不相同)。
而且,一般來說,處理空返回值的最佳做法是什麼?
我同意,但我認爲`List.tryFind`更值得一提。要求.NET框架生成一個調用堆棧,並在每次找不到要查找的內容時拋出異常並不是實現良好性能的方式。 `let myfunc = List.tryFind(fun _ - > true)`是要走的路。 – 2011-02-14 21:34:33