C#应用程序设置存储元组列表

时间:2018-12-25 15:09:21

标签: c# xml tuples

在我的C#程序中,我想在程序设置中存储一个元组列表。 所以我在xml文件中定义了类型:

<Setting Name="ScoreboarList"
 Type="System.Collections.Generic.List&lt;System.Tuple&lt;System.String,System.Int32&gt;&gt;"
 Scope="User">

在错误列表中没有显示错误。 问题是在“设置选项卡”中有一个错误:“路径中的字符非法”。 (也显示在以下picture上)

那我该怎么消除这个错误?

谢谢。

1 个答案:

答案 0 :(得分:1)

似乎不允许使用路径名中的逗号。因此,解决方案包括创建您自己的类型。在我进行的测试中,patch类型不适用于设置。幸运的是,它可以与Tuple<,>一起使用:

ValueTuples

但是,您将无法在设置编辑器中分配值,而必须以编程方式添加它们。这适用于用户范围设置,但不适用于应用程序范围设置:

namespace MyNamespace
{
    public class ScoreboarList : List<(string, int)>
    {
    }
}

然后您可以使用来访问设置

Properties.Settings.Default.ScoreboarListSetting = new MyNamespace.ScoreboarList {
    ("Aaa", 11),
    ("Bbb", 22)
};
Properties.Settings.Default.Save();