C#配置文件详解

一、什么是C#配置文件

C#配置文件是用于在应用程序运行时存储数据和配置设置的文本文件。它通常包含一组键值对,可以通过程序访问。

常见的C#配置文件有两种格式:App.config和Web.config。前者用于Windows应用程序,后者用于Web应用程序。它们都使用XML格式存储配置信息。

二、C#配置文件的作用

C#配置文件的作用是分离程序逻辑与配置数据,使得我们可以在不修改代码的情况下修改应用程序的行为。

除此之外,C#配置文件还可以用于存储应用程序需要的各种信息,比如数据库连接字符串、邮件服务器信息、日志记录选项等等。

三、C#配置文件的使用方法

C#配置文件可以通过System.Configuration命名空间提供的ConfigurationManager类来访问。下面是一个从App.config中读取配置信息并输出到控制台的例子:

using System.Configuration;
using System;

namespace ConfigFileExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string message = ConfigurationManager.AppSettings["Message"];
            int level = Int32.Parse(ConfigurationManager.AppSettings["LogLevel"]);

            Console.WriteLine("{0} (Log level: {1})", message, level);
        }
    }
}

上面的代码中,ConfigurationManager.AppSettings[“Message”]可以读取App.config文件中key为Message的配置项的值,ConfigurationManager.AppSettings[“LogLevel”]可以读取key为LogLevel的配置项的值。

四、C#配置文件的语法规则

C#配置文件使用XML格式存储数据,因此遵循XML的语法规则。比如,每个配置项应该以<add>标签定义,且必须有一个name和value属性。如果有多个配置项,应该使用<appSettings>标签将它们包裹起来。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Message" value="Hello, World!" />
    <add key="LogLevel" value="1" />
  </appSettings>
</configuration>

五、C#配置文件的案例

1、从配置文件中读取数据库连接字符串

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="MyDB" connectionString="server=localhost;database=mydb;uid=myuser;pwd=mypassword" />
  </connectionStrings>
</configuration>
using System.Configuration;
using System.Data.SqlClient;

namespace ConfigFileExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand("SELECT COUNT(*) FROM MyTable", connection);
                connection.Open();
                int count = (int)command.ExecuteScalar();
                Console.WriteLine("Total rows: {0}", count);
            }
        }
    }
}

2、从配置文件中读取日志级别

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="LogLevel" value="2" />
  </appSettings>
</configuration>
using System.Configuration;
using System;

namespace ConfigFileExample
{
    class Program
    {
        static void Main(string[] args)
        {
            int logLevel = Int32.Parse(ConfigurationManager.AppSettings["LogLevel"]);
            if (logLevel >= 2)
            {
                Console.WriteLine("Warning: Something bad might happen!");
            }
        }
    }
}

3、从配置文件中读取邮件服务器信息

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="SmtpServer" value="smtp.example.com" />
    <add key="SmtpPort" value="587" />
  </appSettings>
</configuration>
using System.Configuration;
using System.Net;
using System.Net.Mail;
using System;

namespace ConfigFileExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string smtpServer = ConfigurationManager.AppSettings["SmtpServer"];
            int smtpPort = Int32.Parse(ConfigurationManager.AppSettings["SmtpPort"]);

            using (SmtpClient client = new SmtpClient(smtpServer, smtpPort))
            {
                MailMessage message = new MailMessage("from@example.com", "to@example.com",
                                                      "Hello from C#!", "This is a test message.");
                client.Send(message);
            }

            Console.WriteLine("Message has been sent.");
        }
    }
}

原创文章,作者:KQLI,如若转载,请注明出处:https://www.506064.com/n/138609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
KQLIKQLI
上一篇 2024-10-04 00:21
下一篇 2024-10-04 00:21

相关推荐

  • 金融阅读器提示配置文件无法识别

    在使用金融阅读器过程中,有时会遇到提示配置文件无法识别的情况。这种情况通常是由于配置文件中存在错误或不完整所导致的。本文将从多个方面对此问题进行详细的阐述,并提供相应解决方法。 一…

    编程 2025-04-28
  • 如何在Linux中添加用户并修改配置文件

    本文将从多个方面详细介绍在Linux系统下如何添加新用户并修改配置文件 一、添加新用户 在Linux系统下创建新用户非常简单,只需使用adduser命令即可。使用以下命令添加新用户…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25

发表回复

登录后才能评论