从ini格式文件中("每行键=值的格式")中读取配置项的值,编写一个函数来读取这些文件,读取指定文件的某个配置的值。
文件内容
IP地址=192.168.88.128
端口=90
用户名=sa
如:输入IP地址,就返回192.168.88.128
程序运行之后直接弹出,不显示结果。
namespace 练习题
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入要读取的文件名:");
            string filename=Console.ReadLine();
            Console.WriteLine("请输入要读取配置的项:");
            string iteaname = Console.ReadLine();
            Console.WriteLine("{0}",GetConfigValue(filename, iteaname));
            Console.ReadKey();        }
        static string GetConfigValue(string filename, string itemname)
        {
            string[] lines = System.IO.File.ReadAllLines(@"D:\"+filename, Encoding.Default);
            foreach(string line in lines)
            {
                if(line.Contains(itemname))
                {
                    return line.Substring(line.IndexOf("="), line.Length);
                }
            }
            return "找不到所输入的选项";
        
          
        }    }
}

解决方案 »

  1.   

    给个实例
    c#读取INI文件
    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    using System.IO;
    namespace 读写ini文件 

        public class Ini 
        { 
            // 声明INI文件的写操作函数 WritePrivateProfileString()
            [System.Runtime.InteropServices.DllImport("kernel32")]
            private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
            // 声明INI文件的读操作函数 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=配置节,key=键名,value=键值,path=路径
                WritePrivateProfileString(section, key, value, sPath);
            } 
            public string ReadValue(string section, string key) 
            {
                // 每次从ini中读取多少字节
                System.Text.StringBuilder temp = new System.Text.StringBuilder(255);
                // section=配置节,key=键名,temp=上面,path=路径
                GetPrivateProfileString(section, key, "", temp, 255, sPath);
                return temp.ToString();
            }
        } 
        class Program 
        { 
            static void Main(string[] args) 
            { 
                string Current;
                Current = Directory.GetCurrentDirectory();//获取当前根目录 
                Console.WriteLine("Current directory {0}", Current); 
                // 写入ini 
                Ini ini=new Ini(Current+"/config.ini"); 
                ini.Writue("Setting","key1","hello word!"); 
                ini.Writue("Setting","key2","hello ini!"); 
                ini.Writue("SettingImg", "Path", "IMG.Path"); 
                // 读取ini 
                string stemp = ini.ReadValue("Setting","key2"); 
                Console.WriteLine(stemp);
                Console.ReadKey(); 
            } 
        } 
    }