C# 配置文件读取:App.config 用法

简介: App.config用于存储程序配置(如数据库连接、接口地址),避免硬编码,提升可维护性。通过ConfigurationManager读取配置,支持字符串、整型、布尔值及连接字符串的获取,需引用System.Configuration程序集。

配置文件(App.config)用于存储程序配置(如数据库连接字符串、接口地址),避免硬编码,便于维护。

案例:读取 App.config 配置

  1. 新建 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>
  1. 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)。

相关文章
|
2月前
|
JSON API C#
C# 实现简单的 HTTP 请求工具(GET/POST)
HTTP请求工具用于调用第三方API,支持GET和POST方法,实现数据获取与提交。示例代码展示通过HttpClient发送异步POST请求,处理响应并解析JSON结果,适用于高效集成外部服务。
|
C# 容器
WPF技术之HorizontalAlignment和VerticalAlignment
HorizontalAlignment和VerticalAlignment是用来确定控件在其父容器中的水平和垂直位置的属性。
1917 0
WPF技术之HorizontalAlignment和VerticalAlignment
|
小程序 C#
C#WinForm实现Loading等待界面
上篇博客中解决了程序加载时屏幕闪烁的问题。 但是,加载的过程变得很缓慢。 这个给用户的体验也不是很好,我这里想加一个Loading的进度条。 项目启动的时候,加载进度条,界面UI加载完毕,进度条消失。
908 0
|
6月前
|
网络协议 网络安全 API
C# 与三菱FX5U PLC通讯交互指南
C# 与三菱FX5U PLC通讯交互指南
2220 121
|
2月前
|
开发框架 .NET Java
C# LINQ:简化集合查询(基础用法)
LINQ是C#中集成的查询功能,可简洁高效地查询集合、数据库等数据源。通过示例演示了过滤、排序、分组、投影和聚合操作,展现其在处理产品列表时的强大与便捷。
|
8月前
|
前端开发 JavaScript Java
Java 开发中 Swing 界面嵌入浏览器实现方法详解
摘要:Java中嵌入浏览器可通过多种技术实现:1) JCEF框架利用Chromium内核,适合复杂网页;2) JEditorPane组件支持简单HTML显示,但功能有限;3) DJNativeSwing-SWT可内嵌浏览器,需特定内核支持;4) JavaFX WebView结合Swing可完美支持现代网页技术。每种方案各有特点,开发者需根据项目需求选择合适方法,如JCEF适合高性能要求,JEditorPane适合简单展示。(149字)
968 1
|
C#
C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法
原文:C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法 以前这个问题困扰我多天最后查资料一大堆,最后最终攻克了,看到非常多人做C#串口都遇到相同的问题,所以写一篇博文,以便学习交流。
3859 0
|
JSON JavaScript Java
如何手写实现 JSON Parser
【11月更文挑战第10天】本文介绍了如何使用 Python 手写实现一个简单的 JSON 解析器。通过逐字符读取 JSON 字符串,解析出对象、数组、字符串、数字、布尔值和 null 等基本数据结构。文章详细描述了每个步骤的具体实现方法,包括去除空白字符、解析基础数据类型、解析字符串、数组和对象,以及核心的 `parse_value` 函数。最后,提供了一个完整的 JSON 解析器主函数示例。
367 2
|
JavaScript 前端开发
js的math.max的用法
js的math.max的用法
639 6
|
JSON 前端开发 API
全面解析:Webhooks 和 APIs 的主要区别
作为人类,我们希望技术能帮助我们更快捷、更便捷地与更多人交流。但要实现这一目标,我们首先需要找到一种方法让技术能够彼此对话。

热门文章

最新文章