C# settings 文件基础用法

原文

自定义设置项类型

Serializable 修饰的枚举,可作为设置项类型

[Serializable]
public enum DeviceBrand
{
    None = 0,
    [Description("虚拟高拍仪")]
    VirtualDocumentCamera = 1,
    [Description("自带摄像头")]
    UniversalDocumentCamera = 2
}

读取与设置

//读取
var value = Properties.Settings.Default.PrinterName; //方式一
var value1 = Properties.Settings.Default["PrinterName"]; //方式二

//设置
Properties.Settings.Default.PrinterName = "打印机名称";//方式一
Properties.Settings.Default["PrinterName "] = "打印机名称";//方式二

保存与重置

修改了设置,需保存,否则仅本次运行有效

//保存
Properties.Settings.Default.PrinterName = "打印机名称";//修改某项设置
Properties.Settings.Default.Save();

//重置到默认设置,再保存
Properties.Settings.Default.Reset();
Properties.Settings.Default.Save();

版本升级

修改了用户级别的设置后,会保存在文件 C:\Users\用户名\AppData\Local\exe公司名\test.exe_Url_ntqrdjot1fraqmkducfwoezjxpntmwzc\版本号\user.config 中。

提高版本号后需要主动升级配置,否则使用默认值

//先判断是否升级过配置
//一定要先判断,因为每次执行Upgrade,低版本配置文件都会覆盖高版本配置文件
if (!ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).HasFile)
{
    Settings.Default.Upgrade();//低版本配置文件复制到高版本配置文件
}
posted @   ShaynChow  阅读(694)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示