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/zh-hk/n/138609.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KQLI的頭像KQLI
上一篇 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

發表回復

登錄後才能評論