配置文件(App.config)用于存储程序配置(如数据库连接字符串、接口地址),避免硬编码,便于维护。
案例:读取 App.config 配置
- 新建 App.config 文件(右键项目→添加→应用程序配置文件):
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="ApiBaseUrl" value="https://api.example.com" /> <add key="Timeout" value="3000" /> <add key="EnableLog" value="true" /> </appSettings> <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=TestDB;User ID=sa;Password=123456" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
- C# 读取配置的工具类:
using System.Configuration; public class ConfigHelper { // 读取AppSettings配置 public static string GetAppSetting(string key, string defaultValue = "") { return ConfigurationManager.AppSettings[key] ?? defaultValue; } // 读取整数类型的AppSettings配置 public static int GetAppSettingInt(string key, int defaultValue = 0) { string value = GetAppSetting(key); if (int.TryParse(value, out int result)) { return result; } return defaultValue; } // 读取布尔类型的AppSettings配置 public static bool GetAppSettingBool(string key, bool defaultValue = false) { string value = GetAppSetting(key); if (bool.TryParse(value, out bool result)) { return result; } return defaultValue; } // 读取连接字符串 public static string GetConnectionString(string name) { ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings[name]; return setting?.ConnectionString ?? ""; } } // 调用示例 string apiUrl = ConfigHelper.GetAppSetting("ApiBaseUrl"); int timeout = ConfigHelper.GetAppSettingInt("Timeout"); bool enableLog = ConfigHelper.GetAppSettingBool("EnableLog"); string connectionString = ConfigHelper.GetConnectionString("DefaultConnection"); Console.WriteLine($"接口地址:{apiUrl}"); Console.WriteLine($"超时时间:{timeout}ms"); Console.WriteLine($"是否启用日志:{enableLog}"); Console.WriteLine($"数据库连接字符串:{connectionString}");
注意:需引用 System.Configuration 程序集(右键项目→添加→引用→勾选 System.Configuration)。