WPF 读写自定义配置文件
程序集如下

using System.Windows; namespace WpfApp1 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { UserConfig UserConfig1 = new UserConfig(); public MainWindow() { InitializeComponent(); var res = UserConfig1.Init(System.Environment.CurrentDirectory + "/User.config");//指定配置文件路径 if (res) { var City = UserConfig1.GetConfig("城市");//读取键值 UserConfig1.SetConfig("国家", "中国");//写入键值 var Country = UserConfig1.GetConfig("国家");//读取写入后的键值 MessageBox.Show($"{Country}的首都是{City}"); } } } }

using System.Configuration; using System.Linq; namespace WpfApp1 { public class UserConfig { private Configuration configObject; //指定配置文件路径 public bool Init(string configPath) { ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap(); fileMap.ExeConfigFilename = configPath; configObject = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); if (configObject.HasFile) return true; else return false; } //设置键值 public bool SetConfig(string key, string value) { try { if (!configObject.AppSettings.Settings.AllKeys.Contains(key)) configObject.AppSettings.Settings.Add(key, value); else configObject.AppSettings.Settings[key].Value = value; configObject.Save(ConfigurationSaveMode.Modified); return true; } catch { return false; } } //获取键值 public string GetConfig(string key) { string val = string.Empty; if (configObject.AppSettings.Settings.AllKeys.Contains(key)) val = configObject.AppSettings.Settings[key].Value; return val; } } }
程序没运行之前打开User.config。里面只有一个键值“城市-北京”
运行程序
再次打开配置文件User.config
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」