将列表转换为列表选项

时间:2014-01-02 02:39:09

标签: types f#

这很简单,我的函数返回Group list但我尝试赋值的值是Group list option类型我如何将Group list转换为Group list option }。

这是我的代码

let ParseGroupList jsonData =
    let parsed = GroupProvider.Parse(jsonData).JsonValue.AsArray()
                |> List.ofArray
    let groups = List.map (fun grp -> ParseGroup(grp.ToString())) parsed
    groups

let ParseUser jsonData = 
    let parsed = UserProvider.Parse jsonData
    let mutable user = new User()
    user.ID <- parsed.Id
    user.Firstname <- parsed.Firstname
    user.Lastname <- parsed.Lastame
    user.Emailaddress <- parsed.Emailaddress
    user.Active <- parsed.Active
    user.AllGroupsCount <- parsed.Groupcount
    match parsed.Groups with
    | Some groups -> user.Groups <- ParseGroupList groups <= This doesn't work
    | None -> user.Groups <- None
    user

and public  User() =
    let mutable id = 0
    let mutable firstname = ""
    let mutable lastname = ""
    let mutable emailaddress = ""
    let mutable active = false

    let mutable groupscount = Option<int>.None
    let mutable groups = Option<Group list>.None

    member this.ID with get() = id and set(value) = id <- value
    member this.Firstname with get() = firstname and set(value) = firstname <- value
    member this.Lastname with get() = lastname and set(value) = lastname <- value
    member this.Emailaddress with get() = emailaddress and set(value) = emailaddress <- value
    member this.Active with get() = active and set(value) = active <- value

    member this.AllGroupsCount with get() = groupscount and set(value) = groupscount <- value
    member this.Groups with get() = groups and set(value) = groups <- value

我使用选项类型的原因是JSON基本上使用一些可选属性进行解析。

1 个答案:

答案 0 :(得分:2)

Some(x)

将执行此操作并将x转换为选项类型

相关问题