c# IniFile 简单操作

本文介绍了一个使用C#实现的Ini文件操作类,包括创建、读取和写入Ini文件的功能,并提供了整数、字符串及布尔值类型的读写示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Runtime.InteropServices;

namespace MyApp
{
    #region IniFile
    public class IniFile
    {
        private string _fileName;

        public IniFile(string filename)
        {
            _fileName = filename;
        }

        public IniFile()
        {
            _fileName = "";
        }

        //打开IniFile
        public bool Create(string filename)
        {
            if (filename.Trim() == "")
                return (false);

            _fileName = filename;

            return (true);
        }

        //读取整数
        //参数:section  文件节
        //      key      键值
        //      def      默认数值
        public int GetInt(string section, string key, int def)
        {
            return GetPrivateProfileInt(section, key, def, _fileName);
        }

        //读取字符串
        //参数:section  文件节
        //      key      键值
        //      def      默认数值
        public string GetString(string section, string key, string def)
        {
            StringBuilder temp = new StringBuilder(1024);
            GetPrivateProfileString(section, key, def, temp, 1024, _fileName);
            return temp.ToString();
        }

        //读取布尔数值
        //参数:section  文件节
        //      key      键值
        //      def      默认数值
        public bool GetBoolean(string section, string key, bool def)
        {
            bool retvalue = GetInt(section, key, (def ? 1 : 0)) == 1;
            return retvalue;
        }

        //写入整数数值
        //参数:section  文件节
        //      key      键值
        //      iVal     数值
        public void WriteInt(string section, string key, int iVal)
        {
            WritePrivateProfileString(section, key, iVal.ToString(), _fileName);
        }

        //写入字符串
        //参数:section  文件节
        //      key      键值
        //      strVal     数值
        public void WriteString(string section, string key, string strVal)
        {
            WritePrivateProfileString(section, key, strVal, _fileName);
        }

        //写入布尔数值
        //参数:section  文件节
        //      key      键值
        //      bVal     数值
        public void WriteBoolean(string section, string key, bool bVal)
        {
            WriteInt(section, key, (bVal ? 1 : 0));
        }

        //删除键
        //参数:section  文件节
        //      key      键值
        public void DelKey(string section, string key)
        {
            WritePrivateProfileString(section, key, null, _fileName);
        }

        //删除节
        //参数:section  文件节
        //      key      键值
        public void DelSection(string section)
        {
            WritePrivateProfileString(section, null, null, _fileName);
        }

        #region DllImport
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileInt(
           string lpAppName,
           string lpKeyName,
           int nDefault,
           string lpFileName
           );
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(
           string lpAppName,
           string lpKeyName,
           string lpDefault,
           StringBuilder lpReturnedString,
           int nSize,
           string lpFileName
           );
        [DllImport("kernel32")]
        private static extern bool WritePrivateProfileString(
           string lpAppName,
           string lpKeyName,
           string lpString,
           string lpFileName
           );
        #endregion
    }
    #endregion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值