gpt4 book ai didi

c# - .NET 可以加载和解析等效于 Java Properties 类的属性文件吗?

转载 作者:IT王子 更新时间:2023-10-29 03:48:56 26 4
gpt4 key购买 nike

在 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"]);

编辑:更新以反射(reflect) Paul 的评论。

关于c# - .NET 可以加载和解析等效于 Java Properties 类的属性文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/485659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com