Dot-Net

在 F# 中傳遞 out 參數(作為參考)

  • July 15, 2013

我想打電話System.Uri.TryCreate()

let uriResult: System.Uri = ref (* what's here? *);
System.Uri.TryCreate(uriName, UriKind.Absolute, uriResult)

正如我在這裡了解到的,必須為 .NET輸出參數傳遞 F# 引用。

但是在我的情況下如何初始化我的參考uriResult

我嘗試創建一個新的空 Uri 對象。

let uriResult: System.Uri = ref (new System.Uri());

錯誤 1
此表達式應為

     Uri類型,

但此處的類型為

    ‘a ref

正如 MSDN 上的參數和參數中所述(請參閱通過引用傳遞),輸出參數會自動進行元組化,因此您可以這樣做:

match System.Uri.TryCreate(uriName, UriKind.Absolute) with
| true, uriResult -> //OK
| _ -> //not a Uri

引用自:https://stackoverflow.com/questions/17657445