0

私は現在 C# クラスを使用しています。このクラスでは、プライマリ コードからエラー処理を取り出し、すべてのエラー処理と別のクラスのすべての整数のデータ解析を構築しようとしていますが、問題は 1 つの変数しか返せないことです。 .

「真/偽」(bool) と、あるクラスから別のクラスに解析されたデータの両方を返すにはどうすればよいですか。

Class1.cs (プライマリ コード)

    int num1;

    Class2 class2Object = new Class2();

    public Class1()
    {
        //constructor
    }

    public void Num1Method()
    {
        string tempVal = "";
        bool errorFlag; //bool = true/false

        do
        {
            errorFlag = false; //no error & initialize

            Console.Write("Enter Num1: ");
            tempVal = Console.ReadLine();
            class2Object.IntErrorCheckMethod(tempVal);
        }//close do
        while (errorFlag == true);
    }//close Num1Method

Class2.cs (エラーと解析の処理)

public bool IntErrorCheckMethod(string xTempVal)
    {
        int tempNum = 0;
        bool errorFlag = false;

        try
        {
            tempNum = int.Parse(xTempVal);
        }
        catch(FormatException)
        {
            errorFlag = true;
            tempNum = 999;
        }
        return errorFlag;

    }//close int error check

したがって、Class2 は true/false のみを返します (エラーがあるかどうか)。適切に解析されたデータを Class1 に返して "int num1" 変数に入れるにはどうすればよいですか?

私たちの教授は、ブール値を削除してダミー値を使用することしか考えられません (データにエラーがある場合、値を 999 に設定してそれを返し、if elseif を実行して値が 999 であるかどうかを確認し、エラー メッセージを返します。それ以外の場合は、データを変数に送信します。

999 はユーザーが入力した適切なデータである可能性があるため、エラーに bool を使用できるコードの方が優れていると思います。

どんなアイデアでも大歓迎です、ありがとう!

4

1 に答える 1