gpt4 book ai didi

c# - 300条查找表存储数据的方法(c#)

转载 作者:行者123 更新时间:2023-11-30 20:05:54 25 4
gpt4 key购买 nike

我目前正在扩展一些使用查找表的现有代码。现在这个表大约有 25 个条目,无论好坏,键/值都存储在 web.conf 的 appsettings 部分。它们被读入字典并在整个应用程序中使用。

我会将查找表的大小增加到大约 300 个条目,这是该域的完整值集 - 因此它不太可能变得更大或经常更改。我不确定将这些数据保存在 web.conf 中是个好主意。数据库不是此实现的选项,因此我正在寻找一种替代方法来存储此数据。我的一些想法是:

  • 静态字典?
  • Xml 文件(或其他一些平面外部数据文件)
  • 将它留在 web.conf 的应用程序设置部分?

我倾向于在一个类中填充一个静态字典,该类将包含用于操作数据集的方法。任何建议、评论或愤怒的呼声都将不胜感激。

最佳答案

您可以将额外的键值对存储在通过 appSettings 元素引用的配置文件中 - 这可以使您的主配置文件保持整洁,并将额外的配置存储在它自己的依赖配置文件中。

这在文章 MSDN - appSettings Element (General Settings Schema) 中有解释.

这实际上是第二项和第三项的组合。

出于维护原因,我不会将它放在代码中的静态字典中 - 配置文件也是该数据的更明显位置。通过利用内置的 .Net 功能,您也不会冒其他人忽略 Xml 文件等风险。

一个更具体的例子是(注意文件路径是相对于主应用程序的):

应用程序配置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<appSettings file="mykeyvaluepairs.config"/>

</configuration>

mykeyvaluepairs.config

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>

<add key="imaginativelynamedkey1" value="imaginativelynamedvalue1" />

</appSettings>

请注意,在您原来的 app.config 中,执行以下操作也是可以的:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<appSettings file="mykeyvaluepairs.config">
<add key="CanBeOverridenByItemInChildConfigFileWithSameName" value="UnicornsGoHere" />
</appSettings>

</configuration>

也就是说,除非您在 mykeyvaluepairs.config 文件中重新定义应用程序设置,否则两者将并存 - 但 mykeyvaluepairs.config 中具有相同名称的项目将覆盖主配置中的值。

关于c# - 300条查找表存储数据的方法(c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400589/

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