飞道的博客

c#使用配置文件

334人阅读  评论(0)

在我们开发软件的时候,有时候有很多的配置文件,可以把配置的参数保存到本地,那么肯定要对文件进行读和写的操作,使用SharpConfig可以很简单的实现这个功能。

下面是GitHub的介绍。

https://codeload.github.com/cemdervis/SharpConfig/zip/refs/heads/master

1.使用.net6新建一个控制台程序

2. 在nuget中安装SharpConfig

3.在根目录中建立test.ini,其实别的后缀名文件也可以。

 

文件内容

其中#开头的是注释内容,[]开头的目录,下面的具体值,就是key和value。


  
  1. # 注释内容
  2. [TEST1]
  3. SomeInteger = 10
  4. SomeFloat = 20.05
  5. [TEST2]
  6. Name = Peter
  7. Age = 50
  8. AnotherEmptyArray = { }

4. 代码如下


  
  1. using SharpConfig;
  2. namespace ConsoleApp1
  3. {
  4. internal class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. var config = Configuration.LoadFromFile( "test.ini"); //读取配置文件夹
  9. var section = config[ "TEST1"]; //读取根目录
  10. var SomeInteger = section[ "SomeInteger"].StringValue; //读取具体值
  11. //var SomeInteger = section["SomeInteger"].IntValue; //读取具体值
  12. Console.WriteLine(SomeInteger);
  13. //section["SomeInteger"].SetValue("6666666666"); //修改值
  14. section[ "SomeInteger"].StringValue= "7777777777"; //修改值
  15. config.SaveToFile( "test.ini"); //保存值
  16. Section test = new Section( "TEST3"); //增加根目录
  17. test.Add( new Setting( "A", "123456")); //增加键值对
  18. config.Add(test); //把键值对增加到文件
  19. config.SaveToFile( "test.ini"); //保存文件
  20. Console.WriteLine( "Hello, World!");
  21. }
  22. }
  23. }

  

每次修改值和增加值的时候,一定要保存文件,否则不会有效果。

而且设置值和修改值的时候, 有多种方式都可以做到,总体来说,还是很不错的,值得推荐使用。

对于官网的介绍其实更加的丰富,也可以直接存对象。

5.也可以直接创建ini文件


  
  1. using SharpConfig;
  2. namespace ConsoleApp1
  3. {
  4. internal class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. //var config = Configuration.LoadFromFile("test.ini"); //读取配置文件夹
  9. //var section = config["TEST1"]; //读取根目录
  10. //var SomeInteger = section["SomeInteger"].StringValue; //读取具体值
  11. var SomeInteger = section[ "SomeInteger"].IntValue; //读取具体值
  12. //Console.WriteLine(SomeInteger);
  13. section[ "SomeInteger"].SetValue( "6666666666"); //修改值
  14. //section["SomeInteger"].StringValue="7777777777"; //修改值
  15. //config.SaveToFile("test.ini"); //保存值
  16. //Section test = new Section("TEST3"); //增加根目录
  17. //test.Add(new Setting("A", "123456")); //增加键值对
  18. //config.Add(test); //把键值对增加到文件
  19. //config.SaveToFile("test.ini"); //保存文件
  20. //Console.WriteLine("Hello, World!");
  21. // Create the configuration.
  22. var myConfig = new Configuration();
  23. // Set some values.
  24. // This will automatically create the sections and settings.
  25. myConfig[ "Video"][ "Width"].IntValue = 1920;
  26. myConfig[ "Video"][ "Height"].IntValue = 1080;
  27. // Set an array value.
  28. myConfig[ "Video"][ "Formats"].StringValueArray = new[] { "RGB32", "RGBA32" };
  29. // Get the values just to test.
  30. int width = myConfig[ "Video"][ "Width"].IntValue;
  31. int height = myConfig[ "Video"][ "Height"].IntValue;
  32. string[] formats = myConfig[ "Video"][ "Formats"].StringValueArray;
  33. myConfig.SaveToFile( "1.ini");
  34. }
  35. }
  36. }

6.效果,自动创建了1.ini

 

 


转载:https://blog.csdn.net/u012563853/article/details/128639712
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场