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)。

相关文章
|
网络协议 C# 文件存储
C# 利用FluentFTP实现FTP上传下载功能
C# 利用FluentFTP实现FTP上传下载功能
1479 0
C# 利用FluentFTP实现FTP上传下载功能
|
网络协议 API C#
C# 中模拟 POST 和 GET 请求的原理与实践
【1月更文挑战第4天】在现代网络应用中,HTTP请求是客户端与服务器交互的基础。其中,GET和POST是最常用的两种请求方法。本文将介绍如何使用C#语言模拟这两种请求,并解释其背后的工作原理。我们将利用.NET框架中的HttpClient类来发送请求,并处理服务器的响应。通过本文,读者将能够理解HTTP请求的基本构成,学会在C#中编写代码来模拟这些请求,进而在开发过程中实现与Web服务的交互。
|
5月前
|
人工智能 自然语言处理 BI
阿里云短信服务 Skill 发布:Agent 一句话搞定群发
阿里云短信服务Skill正式发布!支持资质/签名/模板查询、短信发送、记录查询及数据统计,运营人员通过自然语言即可在AI Agent中完成全流程操作,无需技术背景,告别繁琐控制台操作,提升通知与营销短信执行效率。
639 5
|
7月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
52101 73
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
10月前
|
JSON API C#
C# 实现简单的 HTTP 请求工具(GET/POST)
HTTP请求工具用于调用第三方API,支持GET和POST方法,实现数据获取与提交。示例代码展示通过HttpClient发送异步POST请求,处理响应并解析JSON结果,适用于高效集成外部服务。
|
10月前
|
JSON C# 数据格式
C# JSON 序列化与反序列化:Newtonsoft.Json 用法
JSON是前后端交互常用格式,Newtonsoft.Json(Json.NET)是C#中最流行的JSON处理库。本文介绍如何使用它实现对象与JSON字符串的序列化和反序列化,并提供封装工具类及调用示例,便于在项目中快速集成与使用。
|
8月前
|
人工智能 Linux API
保姆级OpenClaw(Clawdbot)部署手册:阿里云一键部署、本地部署、百炼API配置与避坑指南
OpenClaw(曾用名Clawdbot/Moltbot)是一款面向任务自动化与工具调用的开源AI智能体框架,支持通过自然语言完成文件处理、代码编写、数据分析、系统管理、信息检索等自动化操作,可在云端与本地环境稳定运行。2026年版本进一步优化了部署流程、模型兼容与国内网络适配,尤其完善了对阿里云轻量服务器与阿里云百炼大模型的原生支持。本文基于2026年最新版本,提供**零基础可直接复制执行**的阿里云部署、本地部署、阿里云百炼API配置流程,附带完整代码命令、服务管理指令与高频问题解决方案,不涉及其他云平台信息,满足新手快速搭建与稳定使用需求。
1648 2