read/write 到 .net 中的资源
read/write to a resource in .net
在我的 C# 程序中,我需要读取 1 个字符串(该字符串是一个文件路径)。有时我需要用不同的路径覆盖这个文件路径。创建一个 .txt 文件作为资源似乎是个好主意,但我发现这不是写入内容的好方法。我唯一的另一个想法是让数据库参与进来,但这似乎只需要 1 个字符串就有点过分了。
有更好的方法吗?
假设您所追求的是应用程序生命周期内的字符串,那么在您的程序中使用 static
字符串将是最好的方法。即使使用下面的选择,您也需要这样做,因为从外部数据存储读取 every 操作效率低下,但通常您只在程序启动时读取并保持之后内存中的值。
如果字符串需要超过应用程序的生命周期,也就是说在程序打开和关闭时可用且一致,那么您需要外部数据,例如它是数据库、注册表项或良好的旧配置文件。
走最简单的路线,配置文件应该位于您的程序始终可以访问的位置,不会移动,并且大多数配置位于用户的典型区域之外(不要将其存储在我的文档中)。 "%APPDATA%\YourProgramName\Config.xml
是最明显的位置。请参阅 ExpandEnvironmentVariables
将这些变量转换为可用位置。
如果您不想在文本文件中写入字符串,请以 xml 格式写入或尝试使用 Xmlserializer
序列化您的 class.
如果只涉及一个字符串,则尝试使用静态 属性 并使用静态 class 访问它以便在您的应用程序中全局使用
在我的 C# 程序中,我需要读取 1 个字符串(该字符串是一个文件路径)。有时我需要用不同的路径覆盖这个文件路径。创建一个 .txt 文件作为资源似乎是个好主意,但我发现这不是写入内容的好方法。我唯一的另一个想法是让数据库参与进来,但这似乎只需要 1 个字符串就有点过分了。
有更好的方法吗?
假设您所追求的是应用程序生命周期内的字符串,那么在您的程序中使用 static
字符串将是最好的方法。即使使用下面的选择,您也需要这样做,因为从外部数据存储读取 every 操作效率低下,但通常您只在程序启动时读取并保持之后内存中的值。
如果字符串需要超过应用程序的生命周期,也就是说在程序打开和关闭时可用且一致,那么您需要外部数据,例如它是数据库、注册表项或良好的旧配置文件。
走最简单的路线,配置文件应该位于您的程序始终可以访问的位置,不会移动,并且大多数配置位于用户的典型区域之外(不要将其存储在我的文档中)。 "%APPDATA%\YourProgramName\Config.xml
是最明显的位置。请参阅 ExpandEnvironmentVariables
将这些变量转换为可用位置。
如果您不想在文本文件中写入字符串,请以 xml 格式写入或尝试使用 Xmlserializer
序列化您的 class.
如果只涉及一个字符串,则尝试使用静态 属性 并使用静态 class 访问它以便在您的应用程序中全局使用