browse.FileName 没有设置我的字符串变量

browse.FileName doesn't set my string variable

所以我目前正在为课程作业创建一个测验,最初我的所有问题都在 txt 文件中。我现在正在将问题放入一个二进制文件中。为了让我自己更轻松,我正在尝试制作一个转换器按钮,它将一个字符串变量设置为 txt 文件的路径,但它不会自行分配。

        string file_name;

        OpenFileDialog browse = new OpenFileDialog();
        browse.Filter = "Choose Questions to import(*.txt;)|*.txt";

        if (browse.ShowDialog() == DialogResult.OK)
        {
            file_name = browse.FileName;
        }

        System.IO.StreamReader txtReader;
        txtReader = new System.IO.StreamReader(file_name);

问题是您应该在 OK 部分执行所有代码。

否则,如果他们取消,则会抛出错误。

您还想使用 USING 语句读取文件,以便处理资源。

browse.FileName 有效。

    OpenFileDialog browse = new OpenFileDialog();
    browse.Filter = "Choose Questions to import(*.txt;)|*.txt";

    if (browse.ShowDialog() == DialogResult.OK)
    {
        string file_name = browse.FileName;

        using (System.IO.StreamReader txtReader = new System.IO.StreamReader(file_name))
        {

            // Do Your File Manipulation Here!

        }
    }