-4

C# プログラムをプログラミングしていたところ、このエラーが発生しました」

エラー 1 名前 'inumber' は現在のコンテキストに存在しません

この行の

Console.WriteLine(iNumber + "/" + i + "=" + d);

コードを見てみると、どのように inumber が存在しないのかわかりません。エラーの意味は理解できますが、iNumber が存在しない場合、try catch は失敗し、エラーのあるコードは実行されません...

iNumber が存在しない理由を誰か説明してもらえますか?

 try
            {
                iNumber = Convert.ToInt32(Console.ReadLine());


                for (int i = 1; i < iNumber; i++)
                {
                    decimal d;
                    d = iNumber / i;


                    if (((d % 1) == 0))
                    {
                        if (!NumberCount.Contains(d))
                        {
                            NumberCount.Add(d);
                            Console.WriteLine(iNumber + "/" + i + "=" + d);
                        }
                    }


                }

            }
catch
{
}
4

2 に答える 2

3

これはコンパイラ エラーです。
あなたのコードはまったく実行されていません。

catchブロックは、実行時にスローされる例外のみを処理します。


エラーが明確にiNumber述べているように、どこにも宣言していません。

于 2013-06-19T21:42:56.260 に答える
0

これを変更してみてください:

iNumber = Convert.ToInt32(Console.ReadLine());

これに:

int iNumber = Convert.ToInt32(Console.ReadLine());

現在、あなたはiNumberすでにどこかで宣言されているかのように振る舞っています。あなたが私たちに示したコードに基づいて、そうではありませんでした。

于 2013-06-19T21:42:23.737 に答える