c# - 使用 File.ReadAllText 的静态字符串

标签 c# .net windows .net-3.5

我正在尝试将 File.ReadAllText 用作静态 readonly 字符串。我的问题是我正在用 .NETz 编译它,当我的程序启动时它会查找我的字符串,如果不是 发现我遇到了一个讨厌的异常。是否可以通过某种方式使用 if/else 来解决这个问题?

通常我会让它弹出一个消息框或标签,说明找不到文件。如果找不到文件,使用 .Netz 我会收到一条错误消息,程序不会启动。

这是我在整个程序中使用的静态字符串

static readonly string config = File.ReadAllText("config.ini");

我正在使用 .Netz 来包含我的 dll。

最佳答案

与其将其与声明内联,不如将工作移至静态构造函数。然后添加 try/catch block 来处理您认为合适的错误情况变得微不足道:

public class MyClass
{
    static readonly string config;

    static MyClass()
    {
        try
        {
            config = File.ReadAllText("config.ini");
        }
        catch (FileNotFoundException)
        {
            //do something else
            //use a default configuration?
            //report to the user?
            //crash and burn?
        }
    }
}

注意有many reasons除了在路径中找不到之外,为什么读取文件可能会失败。您可能还想考虑捕捉其中的一些。

关于c# - 使用 File.ReadAllText 的静态字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17699748/

相关文章:

c# - 从命令行完全构建 Monotouch 应用程序包的完整步骤集是什么?

c# - 以编程方式将超链接添加到不是 DisplayMode=Hyperlink 的项目符号列表

c# - 应用服务属于领域层还是应用层?

c# - WebRequest.GetResponse() 在几次请求后超时

windows - 如何在没有路由器/DNS 的情况下使用以太网将 2 台 PC 快速连接在一起

Windows CMD - 从批处理文件中重置路径变量?

C# 加密清晰度?

c# - 如何读取文件内容并将这些内容发送到函数参数

C# 反转字符串中的所有数字?

c# - 16 位数字的基本正则表达式