Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active October 7, 2017 19:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjastr/27b1d07d851918912c5b214deb947422 to your computer and use it in GitHub Desktop.
Save pjastr/27b1d07d851918912c5b214deb947422 to your computer and use it in GitHub Desktop.
uti id title platforms
com.xamarin.workbook
3749b45a-8117-4faf-bf31-6fbf9f6cd92d
Konsola
Console

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 i Console.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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment