C# 节省少量配置的最佳方法
我必须保存设备的配置,一位朋友告诉我,因为它只有两(2)个字段,所以最好在C# 节省少量配置的最佳方法,c#,streamreader,streamwriter,C#,Streamreader,Streamwriter,我必须保存设备的配置,一位朋友告诉我,因为它只有两(2)个字段,所以最好在.txt文件中保存/读取它,而不是创建一个表。这是真的吗? 它会更快吗?还是没关系? 如果是,我可以怎么做? 我知道如何使用System.IO和StreamReader/StreeamWriter 我只是想知道它是否会更快,以及如何读取它并将读取的值设置为配置的想法。。。。也许使用数组并使用Split?从性能的角度来看,这并不重要,所以不要使用内置的C#properties/app.config实现。从性能的角度来看,这并
.txt文件中保存/读取它,而不是创建一个表。这是真的吗?
它会更快吗?还是没关系?
如果是,我可以怎么做?
我知道如何使用System.IO
和StreamReader/StreeamWriter
我只是想知道它是否会更快,以及如何读取它并将读取的值设置为配置的想法。。。。也许使用数组并使用Split
?从性能的角度来看,这并不重要,所以不要使用内置的C#properties/app.config实现。从性能的角度来看,这并不重要,因此,不要自己动手,只需使用内置的C#properties/app.config实现。只需扩展Yaur给出的答案即可
最好使用内置的配置设置,因为它比存储在表中(我假设您谈论的是数据库表)或使用您自己的配置更快(虽然性能可以忽略不计),而且更简单
使用内置配置相当简单,如果您不确定它是如何完成的,那么在线上有很多示例,因此我不打算提供一个这样的示例
根据信息以及您希望使用它的方式,存储到数据库可能更为有利,因为即使您重新安装了应用程序,配置也会保持不变(假设数据库位于服务器上,而不是应用程序的一部分-sqlce)
最后要记住的是,您将在哪里使用配置设置。内置配置设置不适用于应用程序库(DLL)。因此,如果配置设置用于库,则必须创建自己的库
最简单的解决方法是使用ConfigurationManager。在项目下创建一个.config(xml)文件,并将其命名为与dll相同的文件(即AttachmentProcessor.dll.config)。这是将设置与键/值对放在一起的地方。确保将文件属性“复制到输出目录”设置为“始终复制”或“更新时复制”
配置的示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="AttachmentDirectory" value="C:\TestDir"/>
<add key="FolderSlug" value="TEST"/>
</appSettings>
</configuration>
然后在需要的地方使用设置
希望这有帮助 只想进一步阐述一下Yaur给出的答案
最好使用内置的配置设置,因为它比存储在表中(我假设您谈论的是数据库表)或使用您自己的配置更快(虽然性能可以忽略不计),而且更简单
使用内置配置相当简单,如果您不确定它是如何完成的,那么在线上有很多示例,因此我不打算提供一个这样的示例
根据信息以及您希望使用它的方式,存储到数据库可能更为有利,因为即使您重新安装了应用程序,配置也会保持不变(假设数据库位于服务器上,而不是应用程序的一部分-sqlce)
最后要记住的是,您将在哪里使用配置设置。内置配置设置不适用于应用程序库(DLL)。因此,如果配置设置用于库,则必须创建自己的库
最简单的解决方法是使用ConfigurationManager。在项目下创建一个.config(xml)文件,并将其命名为与dll相同的文件(即AttachmentProcessor.dll.config)。这是将设置与键/值对放在一起的地方。确保将文件属性“复制到输出目录”设置为“始终复制”或“更新时复制”
配置的示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="AttachmentDirectory" value="C:\TestDir"/>
<add key="FolderSlug" value="TEST"/>
</appSettings>
</configuration>
然后在需要的地方使用设置
希望这有帮助 在您的情况下,使用表格将是一种过度使用。
试想一下,使用一个文件,你可以说直接处理文件系统,而使用一个表,你将处理一个数据库引擎,然后处理文件系统(这是一个很大的简化)
您可以使用txt文件,然后定义您可能需要的任何格式。您可以在每一行中使用不同的设置,然后根据需要对其进行解析。
如果您使用txt文件,则真正取决于您如何解析信息
正如Yaur所建议的,在您的案例中,似乎最好使用应用程序的app.config文件
您举了一个例子,说明在您的情况下,使用表访问设置是一种过分的做法。
试想一下,使用一个文件,你可以说直接处理文件系统,而使用一个表,你将处理一个数据库引擎,然后处理文件系统(这是一个很大的简化)
您可以使用txt文件,然后定义您可能需要的任何格式。您可以在每一行中使用不同的设置,然后根据需要对其进行解析。
如果您使用txt文件,则真正取决于您如何解析信息
正如Yaur所建议的,在您的案例中,似乎最好使用应用程序的app.config文件
您有一个示例,说明如何使用默认设置访问设置,在这种情况下很好,您只需将设置的范围设置为用户
。您可以更新并保存它:
Properties.Settings.Default.Writable = "new value";
Properties.Settings.Default.Save();
在这种情况下,使用默认设置很好,您只需将设置的范围设置为用户
。您可以更新并保存它:
Properties.Settings.Default.Writable = "new value";
Properties.Settings.Default.Save();
也许对于一个小图书馆来说是过度杀戮(这可能是一种麻烦),但a在这种情况下可以派上用场。也许对于一个小图书馆来说是过度杀戮(这可能是一种麻烦),但a在这种情况下可以派上用场。