【C#】读取ini配置文件的内容

一、编写ini配置文件

ini文件时初始化文件,通常是系统配置文件所采用的存储格式。ini文件有自己的固定格式,是由若干个“节”(section)组成,每个节由若干个“键”(key)组成,每个key可以赋值相应的“值”(value)。

以下是ini文件的示例,我们将读取name的值。我这里的项目是窗体应用程序。

[section]
name=aline
age=18

二、效果图

三、C# 读取ini文件

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Runtime.InteropServices;namespace WindowsFormsApplication1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}#region API函数声明[DllImport("kernel32")]//返回取得字符串缓冲区的长度private static extern long GetPrivateProfileString(string section, string key,string def, StringBuilder retVal, int size, string filePath);#endregion#region 读Ini文件public static string ReadIniData(string Section, string Key, string NoText, string iniFilePath){if (File.Exists(iniFilePath)){StringBuilder temp = new StringBuilder(1024);GetPrivateProfileString(Section, Key, NoText, temp, 1024, iniFilePath);return temp.ToString();}else{return String.Empty;}}#endregion// 读取ini文件 按钮private void button1_Click(object sender, EventArgs e){//配置文件路径string iniFilePath = Directory.GetCurrentDirectory() + "\\app.ini";//MessageBox.Show(iniFilePath);string Section = "section";string Key = "name";string NoText = "NoText";string res = ReadIniData(Section, Key, NoText, iniFilePath);MessageBox.Show(res);}}
}

说明:

ReadIniData()是读取ini文件,四个参数分别是:①section  ini文件里的节(要和ini文件里的一致);②key 要读取的键(如:name、age);③NoText对应API函数的def参数,它的值由用户指定,是当在配置文件中没有找到具体的Value时,就用NoText的值来代替;④iniFilePath  ini文件路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

独孤思维:赚钱是马拉松长跑,中途放弃的都是穷b

赚钱就是一场永不停歇的马拉松长跑,中途放弃的都是穷b。 百分之百。 如果把你的一生设定为万里长跑。 开始100米是出身,家庭。 中间100米是上学,上班。 后9万9千800米是你自己。 什么意思? 出身和家庭,不是由你…

HttpSession的创建及使用

1.HttpSession对象的特点 HttpSession保存在服务器 HttpSession使用Key与Value结构存储数据 HttpSession的Key是字符串类型,Value则是Object类型 HttpSession存储数据大小无限制 2.HttpSession对象的创建 HttpSession对象的创建是通过request.getSession()方法来创建…

$‘\r‘: command not found的解决方法

在Linux系统中,运行Shell脚本,出现了如下错误: one-more.sh: line 1: $\r: command not found出现这样的错误,是因为Shell脚本在Windows系统编写时,每行结尾是\r\n,而在Linux系统中行每行结尾是\n&#xf…

37、红外遥控红外遥控电机调速

红外遥控 main.c #include <REGX52.H> #include "Delay.h" #include "LCD1602.h" #include "IR.h"unsigned char Num; unsigned char Address; unsigned char Command;void main() {LCD_Init();LCD_ShowString(1,1,"ADDR CMD NUM…

【cmake】获取到某个目录下的所有子目录名

整体工程目录结构如下。现打算获取到vac目录下的所有子目录名。 cmake 实现如下: # 设定要遍历的目录&#xff0c;保存到 VAC_INCLUDE_DIR 变量 set(VAC_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/vac)# 获取到当前目录下的所有文件和目录&#xff08;以相对路径的方式&#xff09;&a…

【源码篇】基于SpringBoot+thymeleaf实现的蓝天幼儿园管理系统

基于SpringBootthymeleaf实现的蓝天幼儿园管理系统 文章目录 系统说明技术选型成果展示账号地址及其他说明 系统说明 基于SpringBootthymeleaf实现的蓝天幼儿园管理系统是为幼儿园提供的一套管理平台&#xff0c;可以提高幼儿园信息管理的准确性&#xff0c;系统将信息准确无误…

Linux C语言 38-进程间通信IPC之信号

Linux C语言 38-进程间通信IPC之信号 本节关键字&#xff1a;C语言 进程间通信 信号量 semaphore 相关库函数&#xff1a;sem_init、sem_post、sem_wait、sem_destroy 提示&#xff1a;先做内容框架梳理&#xff0c;后期进行完善补充&#xff01; 什么是信号量&#xff1f; …

idea保存时自动删除不用的import

1、File->setting 2、Editor->General->Auto Import 按照操作&#xff0c;即可实现&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;

中国证券交易所有哪些

中国一共有五个证券交易所&#xff0c;分别是&#xff1a; 1、上海证券交易所。 上海证券交易所&#xff0c;简称为上交所。 ①成立时间&#xff1a;上交所成立于1990年11月26日&#xff0c;同年12月19日开业。 ②规模&#xff1a;截至2020年末&#xff0c;沪市上市公司家数…

2023年年末Java面试题

1、JDK 和 JRE 有什么区别&#xff1f; JDK&#xff08;Java Development Kit&#xff09;&#xff0c;Java开发工具包 JRE&#xff08;Java Runtime Environment&#xff09;&#xff0c;Java运行环境 JDK中包含JRE&#xff0c;JDK中有一个名为jre的目录&#xff0c;里面包含两…

讲解商品比价API使用说明

今日讲解商品比价API使用说明 商品数据分析 国内最早的比价搜索平台&#xff0c;专注于电商大数据的分析&#xff0c;有10年技术和数据沉淀。 公司自主研发的爬虫、搜索引擎、分布式计算等技术&#xff0c; 实现了对海量电商数据的及时监测、清洗和统计。 数据丰富 详细使…

内部类与Enum

内部类Iner class 最大特点&#xff1a;可以直接访问私有属性 分类&#xff1a; 1 局部内部类 &#xff08;有类名&#xff0c;外部类局部位置&#xff09;【局部内部类中变量与方法中局部变量&#xff08;是final的&#xff09;重名无法区分】&…

基于社区电商的Redis缓存架构-用户分享内容的分页列表缓存延迟构建以及异步通知缓存重建

分页列表缓存的延迟构建 首先&#xff0c;先来讲一下业务场景&#xff0c;用户会在 APP 中去分享内容&#xff0c;那么假如用户分享的是美食菜谱内容&#xff0c;在用户分享之后&#xff0c;先将这个美食菜谱的内容作为 k-v 进行缓存&#xff0c;但是呢&#xff0c;其实对于用…

交通强国添力量 无人机巡航为何备受期待?

在高速建设交通强国的过程中&#xff0c;交通运输部海事局计划完善“陆海空天”一体化水上交通运输安全保障体系。无人机巡航系统将在提升海事船舶监管和水上搜救能力方面发挥关键作用&#xff0c;以构建更为全面的监管体系。尽管已初步建立了海事监管体系&#xff0c;但仍存在…

大语言模型Prompt设计学习记录:Magic words(魔法词)的作用

文章目录 “扮演”或“成为”类指令&#xff1a;“总结”或“概述”类指令&#xff1a;“比较”或“对比”类指令&#xff1a;“解释”或“定义”类指令&#xff1a;“继续”或“接下来”类指令&#xff1a;“转换”或“改写”类指令&#xff1a; 在大语言模型中&#xff0c;Ma…

可用的镜像 yum 源

目录 ftp.sjtu.edu.cn 镜像 yum 源centos 的镜像 yum 源 mirrors.sohu.comcentos 的镜像 yum 源 mirrors.163.comcentos 的镜像 yum 源 ftp.sjtu.edu.cn 镜像 yum 源 镜像 yum 源地址 &#xff1a; http://ftp.sjtu.edu.cn/centos/ centos 的镜像 yum 源 http://ftp.sjtu.edu…

解密Prompt系列20. LLM Agent之再谈RAG的召回多样性优化

几个月前我们就聊过RAG的经典方案解密Prompt系列14. LLM Agent之搜索应用设计。前几天刚看完openAI在DevDay闭门会议上介绍的RAG相关的经验&#xff0c;有些新的感悟&#xff0c;借此机会再梳理下RAG相关的优化方案。推荐直接看原视频&#xff08;外网&#xff09;A Survey of …

jdk8新特性:函数式接口与函数式编程思想,lambda

//函数式接口&#xff1a;有且仅有一个抽象方法的接口&#xff08;可以有其他类型方法&#xff09;&#xff0c; // 适用于函数式编程--》lamdba表达式 // 语法糖&#xff1a;指更加方便但是底层原理不变的代码语法&#xff08;for-each为迭代器…

Java实现PDF转word的办法

java实现pdf转word的办法有&#xff1a; 1、pdfbox poi 2、free spire.pdf 3、aspose-pdf free spire.pdf 的效果比aspose-pdf稍差一些&#xff0c;但是 aspose-pdf 是付费的&#xff0c;spire.pdf也有付费版本

github问题解决(持续更新中)

1、ssh: connect to host github.com port 22: Connection refused 从.ssh文件夹中新建文件名为config&#xff0c;内容为&#xff1a; Host github.com Hostname ssh.github.com Port 4432、解决 git 多用户提交切换问题 使用系统命令ssh创建rsa公私秘钥 C:\Users\fyp01&g…