1

ループが最初に実行されるとき:値がに割り当てられPlaatSnoepArray[0,0] and PlaatSnoepArray[0,1]ます。

PlaatSnoepArray[1,0] and PlaatSnoepArray[1,1] 2回目のループの実行時:値がANDに割り当てられ、の値が0に設定されますPlaatSnoepArray[0,0]PlaatSnoepArray[0,1]

ループが3回実行されるとき:値がとに割り当てられPlaatSnoepArray[2,0]ますPlaatSnoepArray[2,1]。ANDとの値はPlaatSnoepArray[1,0]PlaatSnoepArray[1,1]設定され0ます。

値が0に戻されないようにするにはどうすればよいですか?

    static Random Rangen = new Random();
    static void PlaatsSnoep(int aantal)
    {

        for (int i = 0; i < aantal; i++)
        {

            int SnoepX = Rangen.Next(25, 94);
            int SnoepY = Rangen.Next(3, 23);
            Console.SetCursorPosition(SnoepX, SnoepY);
            Console.WriteLine("0");

            int[,] PlaatssnoepArray = new int[aantal,2];

            PlaatssnoepArray[i, 0] = SnoepX;
            PlaatssnoepArray[i, 1] = SnoepY;

        }
4

5 に答える 5

1

ループのarray外側を作成します。for

    int[,] PlaatssnoepArray = new int[aantal,2];

    for (int i = 0; i < aantal; i++)
    {

        int SnoepX = Rangen.Next(25, 94);
        int SnoepY = Rangen.Next(3, 23);
        Console.SetCursorPosition(SnoepX, SnoepY);
        Console.WriteLine("0");

        PlaatssnoepArray[i, 0] = SnoepX;
        PlaatssnoepArray[i, 1] = SnoepY;

    }
于 2013-01-31T11:16:14.713 に答える
1

値が0に戻されないようにするにはどうすればよいですか?

PlaatssnoepArray作成をループの外側に移動する必要があります。現在、各反復は独自のインスタンスに割り当てられますint[aantal,2]。これはスコープ外になり、ループの反復が終了するとすぐに破棄されます。

int[,] PlaatssnoepArray = new int[aantal,2];
for (int i = 0; i < aantal; i++)
{
    // The rest of your code
}
于 2013-01-31T11:16:26.467 に答える
1

配列宣言はループの内側にあり、外側に移動します。

int[,] PlaatssnoepArray = new int[aantal,2];
for (int i = 0; i < aantal; i++)
    {
        int SnoepX = Rangen.Next(25, 94);
        int SnoepY = Rangen.Next(3, 23);
        Console.SetCursorPosition(SnoepX, SnoepY);
        Console.WriteLine("0");
        PlaatssnoepArray[i, 0] = SnoepX;
        PlaatssnoepArray[i, 1] = SnoepY;

    }
于 2013-01-31T11:16:29.917 に答える
0

ループ内で配列を初期化しています、それを移動します

static Random Rangen = new Random();
static void PlaatsSnoep(int aantal)
{

    int[,] PlaatssnoepArray = new int[aantal,2];
    for (int i = 0; i < aantal; i++)
    {

        int SnoepX = Rangen.Next(25, 94);
        int SnoepY = Rangen.Next(3, 23);
        Console.SetCursorPosition(SnoepX, SnoepY);
        Console.WriteLine("0");


        PlaatssnoepArray[i, 0] = SnoepX;
        PlaatssnoepArray[i, 1] = SnoepY;

    }
}

そしてList<Point>()、配列の代わりに使用するのはどうですか?

    List<Point> PlaatssnoepList = new List<Point>(); 
    for (int i = 0; i < aantal; i++)
    {
        Point p = new Point(Rangen.Next(25, 94), Rangen.Next(3, 23));
        Console.SetCursorPosition(p.X, p.Y);
        Console.WriteLine("0");
        PlaatssnoepList.Add(p)
    }
于 2013-01-31T11:17:24.293 に答える
0

配列をループから外します。

于 2013-01-31T11:16:24.263 に答える