字符串到字典,然后再返回

时间:2013-08-07 13:23:38

标签: c# .net

我使用这样的字符串:

Norway, true; Sweden, false; England, null; Denmark, false;

我正在尝试将其转换为Dictionary<string, bool?>,以便我可以使用它,删除项目,与其他内容进行比较。当我完成后,我想将字典转换回类似的字符串并保存。

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

您可以使用Split方法和LINQ:

将其转换为字典
var dict = str.Split(';')
    .Select(s => s.Split(','))
    .ToDictionary(
        p => p[0].Trim()
    ,   p => p[1].Trim().Equals("null") ? null : (bool?)(bool.Parse(p[1].Trim()))
    );

转换回来更容易:

var res = string.Join("; ", dict.Select(
    p => string.Format(
        "{0}, {1}"
    ,   p.Key
    ,   p.Value.HasValue ? p.Value.ToString().ToLowerCase() : "null"
    )
));