欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中讀寫INI文件的方法例子

 更新時間:2021年06月29日 20:41:35   投稿:shangke  
C#中讀寫INI文件的方法例子,需要的朋友可以參考一下

通常C#使用基于XML的配置文件,不過如果有需要的話,比如要兼顧較老的系統(tǒng),可能還是要用到INI文件。
但C#本身并不具備讀寫INI文件的API,只有通過調(diào)用非托管代碼的方式,即系統(tǒng)自身的API才能達到所需的目的。

對應讀寫的方法分別為GetPrivateProfileString和WritePrivateProfileString。

GetPrivateProfileString中的各參數(shù):
lpAppName —— section的名稱
lpKeyName —— key的名稱
lpDefault —— 如果lpKeyName沒有被找到的話,則將這個值復制到lpReturnedString中
lpReturnedString —— 用于返回結(jié)果的值
nSize —— lpReturnedString的字符長度
lpFileName —— INI文件名

WritePrivateProfileString中的各參數(shù):
lpAppName —— section的名稱
lpKeyName —— key的名稱
lpString —— 與lpKeyName對應的值
lpFileName —— INI文件名

實際代碼如下所示:

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace INIDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            WritePrivateProfileString("Demo", "abc", "123", "c:\\demo.ini");

            StringBuilder temp = new StringBuilder();
            GetPrivateProfileString("Demo", "abc", "", temp, 255, "c:\\demo.ini");
            Console.WriteLine(temp);

            Console.ReadLine();
        }

        [DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
        private static extern bool WritePrivateProfileString(
            string lpAppName, string lpKeyName, string lpString, string lpFileName);

        [DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
        private static extern int GetPrivateProfileString(
            string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString,
            int nSize, string lpFileName);
    }
}

程序運行后INI文件中的內(nèi)容為:

復制代碼 代碼如下:

[Demo]
abc=123

這是一種相對簡單的方法,若是不想使用非托管方法,你也可以通過另一種比較麻煩的途徑解決這個問題。

實現(xiàn)代碼二、

public class Ini
    {
        // 聲明INI文件的寫操作函數(shù) WritePrivateProfileString()
        [System.Runtime.InteropServices.DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
        // 聲明INI文件的讀操作函數(shù) GetPrivateProfileString()
        [System.Runtime.InteropServices.DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, System.Text.StringBuilder retVal, int size, string filePath);
        private string sPath = null;

        public Ini(string path)
        {
            this.sPath = path;
        }

        public void Writue(string section, string key, string value)
        {
            // section=配置節(jié),key=鍵名,value=鍵值,path=路徑
            WritePrivateProfileString(section, key, value, sPath);

        }
        public string ReadValue(string section, string key)
        {
            // 每次從ini中讀取多少字節(jié)
            System.Text.StringBuilder temp = new System.Text.StringBuilder(255);
            // section=配置節(jié),key=鍵名,temp=上面,path=路徑
            GetPrivateProfileString(section, key, "", temp, 255, sPath);
            return temp.ToString();
        }
    }

由于INI文件的格式是固定的,所以只要編寫相應的解析程序就可以完成同樣的讀寫功能,就是通常的字符串處理而已。

如果你不愿親自動手的話,不要緊,已經(jīng)有現(xiàn)成的程序——Cinchoo framework,可以為你實現(xiàn)你想作的事情。

然后一切又變得簡單了。

相關文章

  • C#中的應用程序接口介紹及實現(xiàn),密封類與密封方法

    C#中的應用程序接口介紹及實現(xiàn),密封類與密封方法

    今天小編就為大家分享一篇關于C#中的應用程序接口介紹及實現(xiàn),密封類與密封方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • C#多線程之Semaphore用法詳解

    C#多線程之Semaphore用法詳解

    這篇文章主要為大家詳細介紹了C#多線程之Semaphore用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Unity3D實現(xiàn)相機跟隨控制

    Unity3D實現(xiàn)相機跟隨控制

    這篇文章主要為大家詳細介紹了Unity3D實現(xiàn)相機跟隨控制,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • C#實現(xiàn)讀取ini配置文件的內(nèi)容

    C#實現(xiàn)讀取ini配置文件的內(nèi)容

    INI就是擴展名為"INI"的文件,其實他本身是個文本文件,可以用記事本打開,本文主要為大家詳細介紹了C#實現(xiàn)讀取ini配置文件內(nèi)容的方法,需要的小伙伴可以了解下
    2023-12-12
  • C#減少垃圾回收壓力的字符串操作詳解

    C#減少垃圾回收壓力的字符串操作詳解

    這篇文章給大家詳細分析了C#減少垃圾回收壓力的字符串操作的相關知識點,有興趣的朋友參考學習下吧。
    2018-03-03
  • C#實現(xiàn)懸浮窗口的方法詳解

    C#實現(xiàn)懸浮窗口的方法詳解

    這篇文章主要為大家詳細介紹了C#如何實現(xiàn)懸浮窗口的相關資料,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C# 泛型字典 Dictionary的使用詳解

    C# 泛型字典 Dictionary的使用詳解

    本文主要介紹了C# 泛型字典 Dictionary的使用詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • UGUI ScrollRect滑動定位優(yōu)化詳解

    UGUI ScrollRect滑動定位優(yōu)化詳解

    這篇文章主要為大家詳細介紹了UGUI ScrollRect滑動定位優(yōu)化,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 利用WPF實現(xiàn)Windows屏保的制作

    利用WPF實現(xiàn)Windows屏保的制作

    屏保程序的本質(zhì)上就是一個Win32?窗口應用程序。本文將利用WPF實現(xiàn)Windows屏保的制作,文中的示例代碼簡潔易懂,對我們學習WPF有一定幫助,感興趣的可以了解一下
    2022-07-07
  • C#顯式地實現(xiàn)接口成員的方法

    C#顯式地實現(xiàn)接口成員的方法

    這篇文章主要介紹了C#顯式地實現(xiàn)接口成員的方法,實例分析了C#接口的相關使用技巧,需要的朋友可以參考下
    2015-06-06

最新評論