do while- warunek zakończenia pętli

0

Witam,
Czemu wnętrze pętli do-while jest wyświetlane skoro warunek powtarzania pętli nie został spełniony? Rozumiem, że zawsze wykonuje się raz, a potem już jest to zależne od warunku? Jak zrobić to żeby zawartość pętli nie była wyświetlana? Z góry dziękuję!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ConsoleKeyInfo Wybór;
            Console.WriteLine("Wciśnij X aby wyjść: ");
            Wybór = Console.ReadKey();
            do
            {
                Console.WriteLine("Nie wciśnięto iksa. Spróbuj ponownie: ");
                Wybór = Console.ReadKey();
            } while (Wybór.Key != ConsoleKey.X);
        }
    }
}

1

Zmieniasz do-while na while.

Wybór = Console.ReadKey();
while(Wybór.Key != ConsoleKey.X)
{
	//... Tak samo jak w do-while
}

BTW - Nie używaj polskich nazw

0

Dzięki wielkie, działa.
Pozdrawiam!

0

Dokładnie.

Do-While wykonuję się przynajmniej raz, po czym następuje sprawdzenie czy powinien kontynuować wywołania.

While takie sprawdzenie ma jeszcze przed wejściem do metody - więc jeżeli warunek nie jest spełniony to nie jest wykonywana w ogóle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1