Oferty pracy dla inżynierów
  • StrefaInzyniera.pl (current)
  • Oferty pracy
  • Automatyka
    • Uprawnienia elektryczne SEP
    • Elektrotechnika
    • Elektronika
    • Automatyka
    • Robotyka
  • Przemysł
    • Przemysł
    • Obróbka metali
    • CAD
    • CATIA
    • Autodesk Inventor
  • IT
    • JAVA
    • C++
    • Sieci
  • Firmy
  • Dla firm
    • Rejestracja - profil firmy
    • Dodaj ofertę pracy - bezpłatnie
    • Publikacja artykułów
    • Kontakt
  • Zaloguj się
  • STREFA INŻYNIERA
  • Oferty pracy
  • Automatyka
    • Uprawnienia elektryczne SEP
    • Elektrotechnika
    • Elektroniki
    • Automatyki
    • Robotyka
  • Przemysł
    • Przemysł
    • Obróbka metali
    • CAD
    • CATIA
    • Autodesk Inventor
  • IT
    • JAVA
    • C++
    • Sieci
  • Firmy
  • Dla firm
    • Rejestracja - profil firmy
    • Dodaj ofertę pracy - bezpłatnie
    • Publikacja artykułów
    • Kontakt
  • Logowanie
  • Zaloguj się
Categories

Aplikacje konsoli w C#

Wyświetlanie informacji dla użytkownika

Aplikacje konsoli najczęściej wykonują dwie podstawowe czynności: odczytywanie i zapisywanie danych. Wcześniej już skorzystaliśmy z metody WriteLine, żeby wypisać tekst w konsoli. Jeżeli nie chcesz, żeby wypisany został również znak końca wiersza, to możesz użyć metody Write. W wersji 6 języka C# pojawiła się wygodna funkcja zwana interpolacją ciągów znaków. Umożliwia ona umieszczenie w tekście wartości zmiennych z zastosowaniem odpowiedniego
formatowania. W ciągu znaków poprzedzonym znakiem dolara można umieszczać nazwy zmiennych zamknięte w nawiasach klamrowych, co powoduje wpisanie do tego ciągu aktualnej wartości danej zmiennej.

W projekcie Zmienne na samym końcu metody Main wprowadź poniższe instrukcje:

Console.WriteLine($"Polska ma {populacja} mieszkańców.");
Console.Write($"Polska ma {populacja:N0} mieszkańców. ");
Console.WriteLine($"{waga}kg {owoce} kosztuje {cena:C}.");

Po uruchomieniu aplikacji konsoli zobaczysz taki tekst:

Polska ma 38000000 mieszkańców.
Polska ma 38_000_000 mieszkańców. 1,88kg jabłka kosztuje 4,99zł.

Każda zmienna może zostać sformatowana za pomocą specjalnych kodów. Na przykład N0 oznacza liczbę z separatorami tysięcy i bez części ułamkowej, natomiast C oznacza walutę. Format dla danej waluty wyznaczany jest przez ustawienia aktualnego wątku. Jeżeli swój kod uruchomisz na komputerze w Polsce, to wypisana zostanie wartość w złotówkach. Jeżeli ten sam program uruchomiony zostanie w Niemczech, to na ekranie pojawi się wartość w euro.


Pobieranie danych od użytkownika

Za pomocą metody ReadLine można pobrać od użytkownika pewne informacje. Metoda czeka, aż użytkownik wpisze w konsoli jakiś tekst. Gdy tylko naciśnie klawisz Enter, tekst, który został wcześniej wpisany, zwracany jest jako wartość typu string.

Spróbujmy poprosić użytkownika o podanie imienia i wieku. Później przekształcimy podany wiek na liczbę, ale na razie musimy zapisać tę informację w zmiennej typu string. 

Console.Write("Wpisz swoje imię i naciśnij ENTER: ");
string imie = Console.ReadLine();
Console.Write("Podaj swój wiek i naciśnij ENTER: ");
string wiek = Console.ReadLine();
Console.WriteLine($"Cześć, {imie}, dobrze wyglądasz jak na {wiek} lat.");

Uruchom aplikację konsoli i przyjrzyj się wypisanemu tekstowi.
Po wpisaniu swojego imienia i wieku na ekranie zobaczysz taki tekst:

Wpisz swoje imię i naciśnij ENTER: Adam
Podaj swój wiek i naciśnij ENTER: 35
Cześć, Adam, dobrze wyglądasz jak na 35 lat.

 

Importowanie przestrzeni nazw

Jeżeli uważnie śledzisz wpisywany kod, to mogłeś zauważyć, że tym razem, inaczej niż w pierwszej aplikacji, przed nazwą klasy Console nie wpisywałem słowa System. System to przestrzeń nazw, a te są swego rodzaju adresami dla typów. Odwołując się do osoby, możesz napisać Warszawa.Marszałkowska.JanNowak, co by oznaczało, że osoba o nazwisku Jan Nowak mieszka przy ulicy Marszałkowskiej w mieście Warszawa. Zapis System.Console.WriteLine informuje kompilator, że metoda o nazwie WriteLine znajduje się w typie Console, a ten z kolei w przestrzeni nazw System.

Visual Studio 2017 oraz polecenie dotnet new console w Visual Studio Code dają możliwość uproszczenia tworzonego kodu. Na początku pliku z kodem źródłowym dopisują one specjalną instrukcję nakazującą kompilatorowi przeszukać przestrzeń nazw System dla wszystkich klas, dla których nie podano jawnie przestrzeni nazw. Instrukcja ta wygląda następująco: 

using System;

Taka operacja nazywa się importowaniem przestrzeni nazw. Po jej wykonaniu wszystkie typy zdefiniowane w tej przestrzeni nazw będą dostępne dla naszego programu i będą się pojawiały w podpowiedziach wyświetlanych przez IntelliSense.

 

Uproszczone korzystanie z konsoli

Od wersji 6.0 języka C# polecenie using można wykorzystać do dalszego upraszczania tworzonego kodu.

Na początku pliku z kodem źródłowym dopisz poniższy wiersz:

using static System.Console;

Teraz nie musimy w swoim kodzie wpisywać nawet nazwy klasy Console. Możesz zatem użyć funkcji Znajdź i zamień, żeby usunąć ją z kodu. Zaznacz w tekście pierwsze wystąpienie słowa Console., upewniając się, że w zaznaczeniu znajdzie się również kropka. W Visual Studio 2017 naciśnij klawisze Ctrl+H, żeby wykonać szybką zamianę (upewnij się, że pole Zastąp… jest puste), tak jak na poniższym rysunku:

 

W Visual Studio Code wybierz z menu pozycję Edit/Replace.

Zarówno w Visual Studio 2017, jak i w Visual Studio Code kliknięcie przycisku Zamień wszystkie (albo Replace all) lub naciśnięcie klawiszy Alt+A albo Alt+Cmd+Enter uruchomi zamianę wszystkich znalezionych wystąpień. W otwartym okienku kliknij OK, a potem zamknij okienko zamiany, klikając przycisk z krzyżykiem w prawym górnym rogu.

 

Opracowano na podstawie: C# 7.1 i .NET Core 2.0 dla programistów aplikacji wieloplatformowych, Autor: Mark J. Price, Wydawnictwo: Helion

Zaloguj się aby dodać komentarz

Podobne artykuły

« Rzutowanie z liczby na liczbę w C#Zmienne lokalne w C# »

Podziel się ze znajomymi tym artykułem - udostępnij na FB lub wyślij e-maila korzystając z poniższych opcji:

Oferty pracy dla inżynierów
Oferty pracy dla inżynierów

Elektryk automatyk

Guz Technika Piekarnicza
Siemianowice Śląskie, śląskie
4500-6500 PLN

Product Engineer

SPX Flow Inc.
Bydgoszcz, kujawsko-pomorskie

Inżynier ds. Rozwoju Platform i Aplikacji Telewizyjnych

Play (P4 sp. zo.o.)
Warszawa, mazowieckie

Starszy Inżynier ds. Rozwoju Platform Strumieniowania i Dystrybucji Wideo

Play (P4 sp. zo.o.)
Warszawa, dowolny Region

Inżynier ds. Rozwoju Urządzeń Abonenckich – Smartfony, Tablety, Urządzenia Wearables

Play (P4 sp. zo.o.)
Warszawa, dowolny Region

Ekspert ds. Rozwoju Urządzeń Abonenckich STB

Play (P4 sp. zo.o.)
Warszawa, dowolny Region

wszystkie oferty
PracaTechniczna.pl

Strefainzyniera.pl - rynek, praca, rozwój - wszystko co ważne dla inżynierów

  • Dla pracodawcy
  • Artykuły
  • Praca
  • Publikacje
  • Popularne stanowiska
  • Offer in English
  • Regulamin
  • Regulamin dla klientów
  • Polityka prywatności
  • Polityka cookies
  • Kontakt

© 2011 - 2021 NetPortal

Mapa strony Letnisko blisko