【发布时间】:2019-09-24 06:41:44
【问题描述】:
我有一个 winforms 应用程序,我试图将一个二维数组存储到我的 Properties.settings 以供以后提取。我发现我可以通过以下代码在设置中创建一个二维数组:
<Setting Name="TagPresets" Type="System.String[][]" Scope="User">
<Value Profile="(Default)" />
</Setting>
这很好,但是每当我尝试以编程方式将数组存储到其中时,我都会收到以下错误:
Cannot implicitly convert type 'string[][*,*]' to 'System.Collections.Specialized.StringCollection'
这不应该发生,因为我显然将设置声明为二维数组。这是我尝试设置的代码:
Settings.Default.TagPresets = new string[1][,] { new string[,] { { "", "" } } };
我们将不胜感激任何有关其他方式的帮助或想法。
【问题讨论】:
-
您到底想在设置文件中存储什么?设置是为安装时确定的数据设计的,例如数据库或网络连接字符串,然后永远不会更改。如果您尝试在设置中存储用户数据,您将遇到大量问题,例如当用户修复其安装或其他用户运行应用时数据消失。
-
我试图存储用户数据。正如 TimB 所提到的,更好的方法是使用自定义文件,这就是我要做的。
标签: c# arrays string winforms settings