-1

C# の学習を始めたばかりで、テキスト ファイルを読み取ってコマンド プロンプトに表示するコンソール アプリケーションを作成しようとしています。また、後でプログラムを拡張して、一種のテキスト ベースのゲーム エンジンを作成しようと計画しているため、別の dll でテキスト ファイルを読み取るメソッドを作成しようとしています。とにかく、ここに私のdllの私のコードがあります:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace EngineFeatures
{
    public class txtedit
    {

        public string Write_txt(string textin, out String output)
        {
            try
            {
                 using (StreamReader sr = new StreamReader(textin))
                {


                    String line = sr.ReadToEnd();
                    output = line;
                    return output;
                }

            }
             catch (Exception e)
            {
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(e.Message);
            }

        }
    }
}

私は初心者のように、文字通り 3 日前に始めたばかりです。とにかく、私がやりたいことは、関数 EngineFeatures.txtedit.Write_txt("TXT/test.txt"); を呼び出せるようにすることです。アプリケーション自体で文字列を返すようにしましたが、まだ少し混乱しており、「EngineFeatures.txtedit.Write_txt(string, out string)': すべてのコード パスが値を返すわけではありません」というエラーも表示されます。私は何を間違っていますか?

4

3 に答える 3

6

例外が発生した場合、メソッドからは何も返されません。呼び出し元に (別の) 例外を返すかスローするデフォルト値を追加します。

catch (Exception e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
    return null; 
    // or: return String.Empty
    // or: throw new GameLoadException("Cannot read game file", e);
}
于 2013-07-25T19:15:33.827 に答える