当前位置: 首页 > 编程语言 > C#

程序退出时如何保存变量值?分享

时间:2023-04-11 01:49:28 C#

程序退出时如何保存变量值?我正在尝试使用ArrayList来存储可变数量的字符串,并且想知道如何保存ArrayList及其元素,以便我的表单可以在程序加载和退出之间调用它们的值。我曾经将信息存储在文本文件中,但希望尽可能避免使用外部文件。感谢您的任何帮助,您可以提供。你可以使用Properties.Settings来保存ArrayList(如果不是ArrayList,它们是其他等价的类)。最好的部分是它允许您在应用程序和用户级别设置变量如何使用Settigns的一个很好的例子可以在这里找到http://www.codeproject.com/Articles/17659/How-To-Use-the-Settings-Class-in-C我总是使用(在您的情况下在Winforms中听起来),Form_Closing存储到您事先创建的Properties.Settings变量中。如果它是一个ArrayList,您可以将它存储到XML或逗号分隔的列表中。您的序列化/反序列化方法将取决于您的数据。看看隔离存储。我曾经将信息存储在文本文件中,但希望尽可能避免使用外部文件。不可避免地在运行之间存储数据将需要程序可执行文件以外的东西。注册表可以工作,但注册表不适合存储少量信息。添加文件可以使用数据库。对于文本字符串,您可以保存一个文本文件(每行1个字符串)并将其加载到单个语句中。将文件放在独立存储中或%AppData%中的专用文件夹下可以减少用户搞砸它的机会。2.//加载vartheStrings=newArrayList();变量路径=GetSavePath();if(File.Exists(path)){theStrings.AddRange(File.ReadLines(path);}//Save:File.WriteAllLines(GetSavePath(),theStrings.ToArray());这里使用ToArray()作为ArrayList不会实现IEnumerable(List是集合的更好选择并避免了这种情况)。1这假设行尾在字符串中无效。如果需要支持,有很多选项。一些文件格式用于通过另一种机制分隔字符串,或者最简单的方法是使用简单的转换来转义字符(例如→\、换行符→n和回车符→rn)。2如果没有明显的额外复杂性,没有办法防止这种情况,使用类似服务的东西来加载/保存为不同的用户,从而让数据被ACL保护以上是C#学习教程:如何在程序退出时保存变量值?所有内容分享,如果对你有用还需要进一步了解C#学习教程,希望大家多多关注,本文整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: