1

私の.NETWindowsアプリケーションには、テキストファイルを開いて表示できる複数のインスタンスがあります。コードを使用して個々のopenFileDialogsを作成するときに、これを機能させるのに問題はありません。コードをクリーンアップしようとして、メソッドを作成しましたが、かなり新しく、赤い波線が出ています。誰かがこれを見て、私が間違っていることを教えてもらえますか?ありがとう。

ここに示すようにメソッドを呼び出そうとしています:

textBox_ViewFile.Text = LoadFromFile();

次に、私の方法は次のとおりです。

static string[] LoadFromFile()
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.InitialDirectory = "c:\\";
        openFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
        openFileDialog1.RestoreDirectory = false;
        openFileDialog1.ShowHelp = true;

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            try
            {
                if (openFileDialog1.OpenFile() != null)
                {
                    return (File.ReadAllLines(openFileDialog1.FileName));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
            }
        }
    }

この場合、VS2010の「LoadFromFile()」で構文エラーが発生します。

static string[] LoadFromFile()"
4

2 に答える 2

2

returnいずれかのifステートメントが次の場合、ステートメントがありませんfalse

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        try
        {
            if (openFileDialog1.OpenFile() != null)
            {
                return (File.ReadAllLines(openFileDialog1.FileName));
            }
            // missing
            return null;
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
            // missing
            return null;
        }
    }
    // missing
    return null;

于 2013-01-22T02:18:17.300 に答える
1

textBox_ViewFile.Textですstring。関数は配列(string[])を返します。関数が単一のを返すようにする必要がありますstring

return string.Join('\n', File.ReadAllLines(openFileDialog1.FileName));

または:

return File.ReadAllText(openFileDialog1.FileName);
于 2013-01-22T02:16:21.543 に答える