2013-06-18 40 views
1

此代碼:如何轉換的Int64可空<int64>

let mutable x : Nullable<int64> = new Nullable<int64> 99L 
let y : int64 = 88L 
x <- y 

產生此編譯時錯誤:

This expression was expected to have type Nullable but here has type int64

我理解錯誤,我想知道什麼是什麼是正確的方法(cast?)將y(88)中的值分配給x

+1

在F#代碼中,使用''t選項'而不是'Nullable',除非你需要這個與庫互操作。而且,到處放置類型註釋也不是特別習慣。 –

回答

5

使用System.Nullable構造函數;例如:

> 
let mutable x = System.Nullable (99L) 
let y = 88L 
x <- System.Nullable y;; 

val mutable x : Nullable<int64> = 88L 
val y : int64 = 88L 
val it : unit =() 
+0

完美地工作 - 謝謝。 – JonnyBoats