• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Proste i krótkie pytanie

Object Storage Arubacloud
+1 głos
245 wizyt
pytanie zadane 5 lutego 2022 w C# przez Nabuchadonozor Gaduła (3,120 p.)
zamknięte 5 lutego 2022 przez Nabuchadonozor

Witam,

mam prosty problem odnośnie wyświetlenia jakiegoś string'a na ekran i w tej samej linijce próbę wczytania char'a.

W C++ (dawno temu w nim pisałem) napisałbym coś w stylu

cout << "Your choice: "; 
cin >> choice;

a program by to odtworzył wszystko w jednej linijce po odpaleniu.

Problem w tym, że w C#:

Console.WriteLine("Your choice: ");
var choice = Console.ReadKey();

Wyświetla najpierw napis na ekranie, później sam przyznaje tj. \n, przez co oczekiwanie na wciśnięcie klawisza jest w następnej linii, a chciałbym żeby wszystko to było w jednej.

Wiem, że głupi jest ten problem, ale tyle fraz już w google wpisałem i nic nie mogę znaleźć, nie wiem nawet dokładnie jak nazwać swój problem...

Dziękuję ślicznie z góry.

komentarz zamknięcia: Odpowiedź Velta jest satysfakcjonująca - Console.Write(...);
3
komentarz 5 lutego 2022 przez Velta Maniak (52,010 p.)

Dlaczego nie skorzystasz z Console.Write?

BTW, tego switcha można uprościć:

string output = choice switch {
    var n when n == 1 || n == 2 => choice.ToString(),
    _ => "Wrong number"
};
Console.WriteLine(output);

 

komentarz 5 lutego 2022 przez Nabuchadonozor Gaduła (3,120 p.)

Bo zamysł jest taki właśnie, żeby wybrać któryś numer z menu - nie trzeba było zatwierdzać tego enterem. Ale chyba właśnie udało mi się rozwiązać problem: 

Console.WriteLine("Your choice: ");

                char choice = Console.ReadKey().KeyChar;

                switch (choice)
                {
                    case '1':
                        Console.Clear();

                        Console.WriteLine("1");
                        Thread.Sleep(1000);
                        break;
                    case '2':
                        addAcc();
                        break;

                    default:
                        Console.Clear();

                        Console.WriteLine("WRONG NUMBER");
                        Console.WriteLine("Try for 2 seconds");
                        Thread.Sleep(1000);
                        Console.Clear();
                        Console.WriteLine("WRONG NUMBER");
                        Console.WriteLine("Try for 1 second");
                        Thread.Sleep(1000);
                        break;
                }
            }

A zbytnio nie chciałbym upraszczać do takiego zapisu jaki przedstawiłeś, bo ten switch będzie miał dużo więcej opcji, te co w kodzie tutaj pokazałem to tylko takie na szybko napisane, żeby mniej więcej zwizualizować o co mi biega.

Ale dziękuję za zainteresowanie i chęć niesienia pomocy, miłego!

komentarz 5 lutego 2022 przez Nabuchadonozor Gaduła (3,120 p.)

@Velta, najszczersze przeprosiny, przez to, że próbowałem dwa na raz problemy rozwiąząć, to totalnie zapomniałem o tym pierwszym... Tyle mam ostatnio na głowie, że wszystko mi się wali... Te Console.Write() to cudo, piszę w tym języku jakąś drugą godzinę i to nie z kursów, a z wyszukiwania informacji w internecie pojedynczo, bo pisać programy czy strony umiem w innych językach, po prostu muszę się na C# przełożyć, a z nim nie miałem styczności wielkiej. Dzięki śliczne, miłego!

Podobne pytania

0 głosów
1 odpowiedź 174 wizyt
0 głosów
1 odpowiedź 316 wizyt
0 głosów
1 odpowiedź 139 wizyt
pytanie zadane 3 grudnia 2017 w Java przez thot Nowicjusz (120 p.)

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...