Ini 文件以及在C#中的使用

.ini 文件是Initialization file (初始化文件) 的缩写。是windows的系统配置文件所采用的存储格式,统管windows的各项配置。一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了。

组成:ini 文件由节,键,值(还有注解)组成。

  1. 节[section]
  2. 参数:键=值 (name=value)
  3. 注解:注解使用分号 ; 表示。在一行里分号后面的视为注解。
    eg:
[Userinfo]
name="Albert" ;name
age=18   ;age

ini 文件一般可以存放一些常量或数据链接语句,单元测试的mock 数据。

C# 使用Ini 文件的帮助类

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace IniTest.Utils
{
    public class IniHelper
    {
        /// <summary>
        /// 读取INI文件值
        /// </summary>
        /// <param name="section">节点名</param>
        /// <param name="key">键</param>
        /// <param name="def">未取到值时返回的默认值</param>
        /// <param name="filePath">INI文件完整路径</param>
        /// <returns>读取的值</returns>
        public static string Read(string section, string key, string def, string filePath)
        {
            if (!File.Exists(filePath)) return def;
            StringBuilder sb = new StringBuilder(1024);
            GetPrivateProfileString(section, key, def, sb, 1024, filePath);
            return sb.ToString();
        }

        /// <summary>
        /// 写INI文件值
        /// </summary>
        /// <param name="section">欲在其中写入的节点名称</param>
        /// <param name="key">欲设置的项名</param>
        /// <param name="value">要写入的新字符串</param>
        /// <param name="filePath">INI文件完整路径</param>
        /// <returns>非零表示成功,零表示失败</returns>
        public static int Write(string section, string key, string value, string filePath)
        {
            if (!File.Exists(filePath)) return 0;
            return WritePrivateProfileString(section, key, value, filePath);
        }

        /// <summary>
        /// 删除节
        /// </summary>
        /// <param name="section">节点名</param>
        /// <param name="filePath">INI文件完整路径</param>
        /// <returns>非零表示成功,零表示失败</returns>
        public static int DeleteSection(string section, string filePath)
        {
            return Write(section, null, null, filePath);
        }

        /// <summary>
        /// 删除键的值
        /// </summary>
        /// <param name="section">节点名</param>
        /// <param name="key">键名</param>
        /// <param name="filePath">INI文件完整路径</param>
        /// <returns>非零表示成功,零表示失败</returns>
        public static int DeleteKey(string section, string key, string filePath)
        {
            return Write(section, key, null, filePath);
        }

        /// <summary>
        /// 为INI文件中指定的节点取得字符串
        /// </summary>
        /// <param name="lpAppName">欲在其中查找关键字的节点名称</param>
        /// <param name="lpKeyName">欲获取的项名</param>
        /// <param name="lpDefault">指定的项没有找到时返回的默认值</param>
        /// <param name="lpReturnedString">指定一个字串缓冲区,长度至少为nSize</param>
        /// <param name="nSize">指定装载到lpReturnedString缓冲区的最大字符数量</param>
        /// <param name="lpFileName">INI文件完整路径</param>
        /// <returns>复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符</returns>
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);

        /// <summary>
        /// 修改INI文件中内容
        /// </summary>
        /// <param name="lpApplicationName">欲在其中写入的节点名称</param>
        /// <param name="lpKeyName">欲设置的项名</param>
        /// <param name="lpString">要写入的新字符串</param>
        /// <param name="lpFileName">INI文件完整路径</param>
        /// <returns>非零表示成功,零表示失败</returns>
        [DllImport("kernel32")]
        private static extern int WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
    }
}


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: c是英文字母表的第三个字母。它在很多单词使用,具有多种不同的含义和用途。 首先,c是“century”(世纪)和“cent”(一分钱)的符号。在罗马数字,c等同于100。例如,21世纪可以写为“XXIc”。 此外,c还代表一种疾病,即“cancer”(癌症)。癌症是一种严重的疾病,它可以影响人体的各个部位。 另外,在数学,c表示复数的虚部。复数是由实部和虚部组成的数学概念。c还代表单位圆的单位切向量,在复平面具有重要的数学意义。 在计算机科学,C是一种编程语言。C语言是一种通用的编程语言,用于开发各种软件和程序。它被广泛应用于操作系统、嵌入式系统和设备驱动程序等领域。 最后,c还可以表示音高。在音乐,C是唱名“do”的第一音。它是音乐音阶的基准音,能够起到定调和引导的作用。 总之,字母c在不同的语境有着不同的含义和用途,它在科学、数学、计算机和音乐等领域都有重要的作用。 ### 回答2: "C"可以指代很多事物,但我选择谈论一些与"C"相关的关键词和概念。 首先,我们可以将"C"与"创造"联系起来。创造是人类一项令人敬佩的能力,它体现了我们的创造力和想象力。无论是在艺术、科学、技术或其他领域,创造力都是推动进步和创新的驱动力。 此外,"C"还可以代表"改变"。改变是不可避免的,它是生活的常态。无论是个人生活的转变还是社会层面的变革,改变是推动社会发展和个人成长的关键因素。 "C"还可以代表"挑战"。挑战是我们面临的困难和障碍。面对挑战,我们需要积极应对,找到解决问题的方法。挑战可以帮助我们成长,提高自己的能力和技能。 此外,"C"还可以代表"沟通"。沟通是人际关系至关重要的技能。通过有效的沟通,我们可以理解他人的观点和感受,建立良好的人际关系,解决问题和避免冲突。 最后,"C"还可以代表"关怀"。关怀是人类社会最重要的价值之一。关怀他人的需要和利益,关心社会问题和环境,这种关怀使我们的社会更加和谐和美好。 总结来说,"C"可以代表创造、改变、挑战、沟通和关怀等关键词和概念。这些都是我们生活重要的方面,它们影响着我们的发展和成功。我们应该保持积极的态度,以"C"为代表的这些价值观去影响和塑造我们的生活。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值