uti | id | title | platforms | |
---|---|---|---|---|
com.xamarin.workbook |
3749b45a-8117-4faf-bf31-6fbf9f6cd92d |
Konsola |
|
Metoda Console.WriteLine
służy do wyświetlania zawartości na ekranie w postaci linijki tekstu.
Metoda jest przeciążona, zatem parametry mogą być różnych typów.
int a = -2;
Console.WriteLine(a);
string b = "sdfdf";
Console.WriteLine(b);
bool c = true;
Console.WriteLine(c);
Metoda może być również stosowana bez parametru lub parametr użyty bez jawnej deklaracji zmiennej.
Console.WriteLine(-65);
Console.WriteLine();
Console.WriteLine("tjjjk");
Console.WriteLine(2>3);
W parametrze możemy stosować “wewnętrzne” parametry, co ułatwia formatowanie stringów.
string nazwisko = "Kowalski";
string imie = "Jan";
Console.WriteLine("Imię i nazwisko: {0} {1}",imie, nazwisko);
Parametrem metody może być również tabela znaków (zmiennych typu char).
char[] wyraz = new char[] { 'a', 'b', 'c', 'd', 'e', 'f' };
Console.WriteLine(wyraz);
//od miejsca od indeksie 2 wyświetla 4 pozycje
Console.WriteLine(wyraz, 2, 4);
//od miejsca o indeksie 0 wyświetla 3 pozycje
Console.WriteLine(wyraz, 0, 3);
Metoda Console.Write
jest podobno do metody Console.WriteLine
z tą różnicą, że po jej wykonaniu nie następuje złamanie linii.
Console.Write("raz");
Console.WriteLine("dwa");
Console.Write("trzy");
Console.Write("cztery");
Jeśli chcielibyśmy użyć kolorów, mamy do dyspozycji dwie właściwości: Console.Background
i Console.Foreground
. Do zresetowania mamy metodę Console.ResetColor()
.
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("żółty na niebieskim tle");
Console.ResetColor();
Console.WriteLine("normalnie");
Inne przydatne metody i właściwości:
Console.Beep()
- do wywołania dźwięku o określonej częstotliwości i określonym czacie (w milisekundach). W przeciążeniu bez parametru jest domyślny dźwięk.
Console.Beep();
Console.Beep(1600,3000);
-
Console.Clear()
- czyszczenie zawartości konsoli. -
Console.Title
- tytuł okna. -
Console.WindowWidth
- szerokość okna. -
Console.WindowHeight
- wysokość okna. -
Console.CapsLock
iConsole.NumLock
- zwracają true, gdy odpowiedni klawisz jest wciśnięty.
Metoda Console.ReadLine
wczytuje wejście z konsoli. Po naciśnięciu klawisza Enter zwracany jest string
.
Console.WriteLine("Wpisz coś i naciśnij Enter");
string tekst = Console.ReadLine();
Console.WriteLine("Wpisano: {0}", tekst);
Console.WriteLine("Liczba znaków: {0}", tekst.Length);
Co ważne, jeśli chcemy wczytać inny typ, np. liczbę, to musimy ją “obrobić” za pomocą odpowiedniego konwertowania, parsowania, lub metody TryParse
(więcej w osobnym giście).
Console.WriteLine("Wpisz pierwszą liczbę");
int liczba1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Wpisz drugą liczbę");
int liczba2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Suma: {0}", liczba1+liczba2);
Jeśli chcemy wczytać pojedynczy znak, odpowiednikiem jest metoda Console.Read
. Zwraca ona liczbę typu int
odpowiadającą znakowi w tablicy znaków.
Console.WriteLine("Wpisz znak");
int numerZnaku = Console.Read();
Console.WriteLine("Numer znaku: {0}",numerZnaku);
Console.WriteLine("Znak: {0}", (char)numerZnaku);
Uwaga: metoda Console.Read
nie powoduje łamania linii. By to uczynić warto użyć "na pusto" metody Console.ReadLine
.
Metoda Console.ReadKey
ma zastosowanie przy tworzeniu “interaktywnych” aplikacji, czekających z wywołaniem dalszego kodu na naciśnięcie klawisza przez użytkownika.
Console.WriteLine("strona 1");
Console.ReadKey();
Console.Clear();
Console.WriteLine("strona 2");
Ponadto możemy uzaleźnić działanie aplikacji od wcisnęgo klawisza (w odróżnieniu od metody Console.Read
możemy tu również innych klawiszy niż alfanumerycznych).
Console.WriteLine("wciśnij escape");
ConsoleKeyInfo klawisz = Console.ReadKey();
if (klawisz.Key == ConsoleKey.Escape)
{
Console.WriteLine("\n dobrze!");
}
else
{
Console.WriteLine("\n źle");
}
Console.WriteLine("wciśnij a");
klawisz = Console.ReadKey();
if (klawisz.KeyChar == 'a')
{
Console.WriteLine("\n dobrze!");
}
else
{
Console.WriteLine("\n źle");
}
Console.WriteLine("wciśnij ctrl+e");
klawisz = Console.ReadKey();
if (klawisz.Key == ConsoleKey.E && klawisz.Modifiers == ConsoleModifiers.Control)
{
Console.WriteLine("\n dobrze!");
}
else
{
Console.WriteLine("\n źle");
}
Bibliografia: