Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 节省少量配置的最佳方法_C#_Streamreader_Streamwriter - Fatal编程技术网

C# 节省少量配置的最佳方法

C# 节省少量配置的最佳方法,c#,streamreader,streamwriter,C#,Streamreader,Streamwriter,我必须保存设备的配置,一位朋友告诉我,因为它只有两(2)个字段,所以最好在.txt文件中保存/读取它,而不是创建一个表。这是真的吗? 它会更快吗?还是没关系? 如果是,我可以怎么做? 我知道如何使用System.IO和StreamReader/StreeamWriter 我只是想知道它是否会更快,以及如何读取它并将读取的值设置为配置的想法。。。。也许使用数组并使用Split?从性能的角度来看,这并不重要,所以不要使用内置的C#properties/app.config实现。从性能的角度来看,这并

我必须保存设备的配置,一位朋友告诉我,因为它只有两(2)个字段,所以最好在
.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在这种情况下可以派上用场。