14

F#の Choice 型については以前から認識していましたが、意味のある名前付きケースを使用して独自のユニオン型を定義する以外に、それを使用する場所が思い浮かびません。

MSDN のドキュメントにはあまりアドバイスがなく (「2 つの選択肢を持つアクティブなパターンのヘルパー型」)、使用例もありません。

私は何かが欠けているに違いありません.カスタムユニオンに対するこのタイプの主な利点は何ですか?

4

4 に答える 4

9

私の意見では、Choice型の使用例はタプル型の使用例とよく似ています。どちらの場合でも、タイプに同形な独自のより具体的なタイプを定義したい場合がよくあります (選択肢にはカスタム DU、タプルにはカスタム レコード タイプ)。それにもかかわらず、限定された範囲または非常に一般的な状況 (適切な命名が困難になる可能性がある場合) では、匿名のバリアントがあると便利です。

于 2013-05-23T15:05:11.687 に答える