是否可以将多维ArrayList保存到Properties.Settings?当我尝试这样做的时候,我得到了错误。
如果没有,有没有其他方法可以将某种多维数据保存到Properties.Settings中?
发布于 2010-11-02 05:08:06
啊我记得和Properties.Settings吵过架。从来不是一场有趣的战斗:快而脏的选择是使用不同的分隔符字符来进行字符串“序列化”(在引号中,因为真正的序列化在处理边缘情况等方面要好得多)。如下所示:
int[][] myArray = GetArrayFromElsewhere();
string stringVersion = string.Join(";", myArray.Select(subArray => string.Join(",", subArray)));
Properties.Settings.StringVersion = stringVersion;您还可以使用深奥的Unicode字符而不是;和,,以避免意外拆分字符串,并且可以使用循环(或者可能是递归)将其推广到任意数量的维度。
但是,这当然是一个又快又脏的变通方法。真正的解决方案是对多维数组进行某种serialization。你也许可以用一些简单的XmlSerializer或BinaryFormatter甚至JavaScriptSerializer代码-实际上,我认为最后一个可能真的很好用-但是如果你需要更复杂的,this question discusses a similar solution for a hash table,有很多血淋淋的细节。
https://stackoverflow.com/questions/3933281
复制相似问题