在受歧視的聯合中命名元組的元素

定義區分聯合時,你可以命名元組型別的元素,並在模式匹配期間使用這些名稱。

type Shape = 
    | Circle of diameter:int
    | Rectangle of width:int * height:int

let shapeIsTenWide = function
    | Circle(diameter=10) 
    | Rectangle(width=10) -> true
    | _ -> false

另外,命名區分聯合的元素可以提高程式碼的可讀性和與 C#的互操作性 - 提供的名稱將用於屬性的名稱和建構函式的引數。互操作程式碼中的預設生成名稱是 ItemItem1Item2……