【问题标题】:C# get settings from a fileC# 从文件中获取设置
【发布时间】:2023-03-30 15:59:01
【问题描述】:

在 c# 中,我如何从文件中读取文本,然后在我的程序中应用设置。 配置文件:

autoquit = true

如果 autoquit 为真,那么它会自动退出。我知道有内置设置,但我想知道如何将项目中的设置转换为文件,然后在启动程序时加载设置。

【问题讨论】:

  • 如果您有很多配置设置,可能值得使用 XML 序列化,因为这样可以更轻松地存储结构化数据。
  • 对于简单的键/值,我个人会使用 INI 文件
  • 有什么理由不想使用 App.config 文件和从它获取设置的内置支持?
  • @Lea 我们不在 .NET 中使用 INI 文件
  • 有可能是开发者继承了这个烂摊子!

标签: c# settings


【解决方案1】:

File.ReadAllText() 将从文件中读取文本。然后,您可以使用正则表达式、string.Split() 或其他内容解析文件。

如果您向我们展示您目前所拥有的,您会得到比这更好的答案...

【讨论】:

  • file class 文档也可以帮助他 - msdn.microsoft.com/en-us/library/system.io.file.aspx
  • -1 不要将设置存储在 .NET 中的纯文本文件中 - 使用标准配置模式。
  • 显然,您永远不会需要在 app.config 之外存储配置。我一直讨厌能够将用户首选项写入磁盘。谢谢你让我直截了当,柯克......
  • 当您可以使用配置类时,为什么要将用户首选项写入文本文件?当问题清楚地说明应用程序设置时,为什么要推荐 app.config 以外的任何内容?
【解决方案2】:

您想将<appSettings> 部分添加到您的配置文件中。

如果您没有配置文件,请右键单击您的项目,单击“添加”,单击“新建项目...”,然后从“常规”选项卡中选择应用程序(或 Web)配置文件。

将设置添加到您的配置文件中:

<configuration>
  <appSettings>
    <add key="Autoquit" value="True" />
  </appSettings>
</configuration>

然后在你的代码中,像

var autoquit = (bool)ConfigurationManager.AppSettings["Autoquit"];

您需要添加对System.Configuration 的引用才能访问ConfigurationManager 类。

这是存储配置设置的标准、公认的方式。不要创建文本文件并从中读取字符串值。您可以将键入的值存储在设置部分,但如果您进行一些研究,您会发现如何做到这一点。

【讨论】:

    【解决方案3】:

    ConfigurationManager 类对此类操作非常有帮助。请参阅此示例: http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx

    您会发现使用这样的标准策略有很多优势。

    【讨论】:

    • 我发现微软的例子不是很有帮助。
    猜你喜欢
    • 2014-10-11
    • 1970-01-01
    • 2012-07-22
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多