c# – .NET可以加载和解析一个等同于Java Properties类的属性文件吗?

在C#中有一个简单的方法来读取一个属性文件,其中每个属性在一个单独的行上,后跟一个等号和值,如下所示:

ServerName=prod-srv1
Port=8888
CustomProperty=Any value

在Java中,Properties类容易处理这种解析:

Properties myProperties=new Properties();
FileInputStream fis = new FileInputStream (new File("CustomProps.properties"));
myProperties.load(fis);
System.out.println(myProperties.getProperty("ServerName"));
System.out.println(myProperties.getProperty("CustomProperty"));

我可以很容易地加载文件在C#和解析每一行,但有一个内置的方式来轻松地获取属性,而不必解析出键名称和等号本身?我发现的C#信息似乎总是偏向于XML,但这是一个我不能控制的现有文件,我宁愿保持现有的格式,因为它需要更多的时间来让另一个团队将其更改为XML比解析现有文件。

最佳答案
没有内置的支持。

你必须制作自己的“INIFileReader”。
也许这样的东西?

var data = new Dictionary<string, string>();
foreach (var row in File.ReadAllLines(PATH_TO_FILE))
  data.Add(row.Split('=')[0], string.Join("=",row.Split('=').Skip(1).ToArray()));

Console.WriteLine(data["ServerName"]);

编辑:更新以反映Paul的评论。

转载注明原文:c# – .NET可以加载和解析一个等同于Java Properties类的属性文件吗? - 代码日志