Wprowadzenie do języka C# — interaktywny samouczek
Ten samouczek uczy języka C# interaktywnie, używając przeglądarki do pisania języka C# i wyświetlania wyników kompilowania i uruchamiania kodu. Zawiera serię lekcji, które zaczynają się od programu "Hello World". Te lekcje nauczą Cię podstaw języka C#.
Napiwek
Gdy blok fragmentu kodu zawiera przycisk "Uruchom", ten przycisk otwiera okno interakcyjne lub zastępuje istniejący kod w oknie interaktywnym. Gdy fragment kodu nie zawiera przycisku "Uruchom", możesz skopiować kod i dodać go do bieżącego okna interaktywnego.
Uruchamianie pierwszego programu
Uruchom następujący kod w oknie interaktywnym.
Console.WriteLine("Hello, World!");
Gratulacje! Uruchomiono pierwszy program w języku C#. Jest to prosty program, który wyświetla komunikat "Hello World!" Użyto metody Console.WriteLine do wydrukowania tego komunikatu.
Console
to typ reprezentujący okno konsoli.
WriteLine
to metoda typu Console
, która wyświetla wiersz tekstu w tej konsoli tekstu.
Przejdźmy dalej i przyjrzyjmy się więcej. Pozostała część tej lekcji bada pracę z typem string
, który reprezentuje tekst w języku C#. Podobnie jak typ Console
, typ string
ma metody. Metody string
działają z tekstem.
Deklarowanie i używanie zmiennych
Pierwszy program wyświetlił string
"Witaj, świecie!" na ekranie.
Napiwek
Podczas eksplorowania języka C# (lub dowolnego języka programowania) popełniasz błędy podczas pisania kodu. Kompilator odnajduje te błędy i zgłasza je Tobie. Gdy dane wyjściowe zawierają komunikaty o błędach, przyjrzyj się bliżej przykładowemu kodowi i kodowi w oknie interaktywnym, aby zobaczyć, co należy naprawić. To ćwiczenie pomaga poznać strukturę kodu w języku C#.
Pierwszy program jest ograniczony do drukowania jednej wiadomości. Bardziej przydatne programy można napisać przy użyciu zmiennych . Zmienna jest symbolem, którego można użyć do uruchomienia tego samego kodu z różnymi wartościami. Wypróbujmy to! Zacznij od następującego kodu:
string aFriend = "Bill";
Console.WriteLine(aFriend);
Pierwszy wiersz deklaruje zmienną, aFriend
i przypisuje jej wartość "Bill". Drugi wiersz wyświetla nazwę.
Możesz przypisać różne wartości do dowolnej zadeklarowanej zmiennej. Możesz zmienić nazwę na jednego ze znajomych. Dodaj te dwa wiersze w poprzednim oknie interaktywnym po dodanym kodzie. Upewnij się, że zachowasz deklarację zmiennej aFriend
i jej początkowe przypisanie.
Ważny
Nie usuwaj deklaracji aFriend
. Dodaj następujący kod na końcu poprzedniego okna interaktywnego:
aFriend = "Maira";
Console.WriteLine(aFriend);
Zwróć uwagę, że ten sam wiersz kodu wyświetla dwa różne komunikaty na podstawie wartości przechowywanej w zmiennej aFriend
.
Możesz zauważyć, że w dwóch ostatnich komunikatach brakuje słowa "Hello". Naprawmy to teraz. Zmodyfikuj wiersze, które wyświetlają komunikat w następującym kodzie:
Console.WriteLine("Hello " + aFriend);
Wybierz ponownie Uruchom, aby wyświetlić wyniki.
Używasz +
do tworzenia ciągów ze zmiennych oraz stałych ciągów . Jest lepszy sposób. Można umieścić zmienną między znakami {
i }
, aby poinformować język C# o zastąpieniu tego tekstu wartością zmiennej.
Ten proces jest nazywany interpolacją ciągów .
Jeśli dodasz $
przed cudzysłowem otwierającym ciągu, możesz uwzględnić zmienne, takie jak aFriend
, wewnątrz ciągu między nawiasami klamrowymi. Spróbuj:
Wybierz ponownie Uruchom, aby wyświetlić wyniki. Zamiast "Hello {aFriend}" komunikat powinien mieć wartość "Hello Maira".
Console.WriteLine($"Hello {aFriend}");
Praca z ciągami znaków
Twoja ostatnia edycja była naszym pierwszym spojrzeniem na to, co można zrobić z ciągami. Przyjrzyjmy się więcej.
Nie ograniczasz się do jednej zmiennej między nawiasami klamrowymi. Spróbuj wykonać następujący kod:
string firstFriend = "Maria";
string secondFriend = "Sage";
Console.WriteLine($"My friends are {firstFriend} and {secondFriend}");
Napisy to więcej niż tylko zbiór liter. Długość ciągu można znaleźć przy użyciu Length
.
Length
jest właściwością ciągu i zwraca liczbę znaków w tym ciągu. Dodaj następujący kod w dolnej części okna interaktywnego:
Console.WriteLine($"The name {firstFriend} has {firstFriend.Length} letters.");
Console.WriteLine($"The name {secondFriend} has {secondFriend.Length} letters.");
Napiwek
Teraz jest dobry czas, aby zapoznać się na własną rękę. Wiesz już, że Console.WriteLine()
zapisuje tekst na ekranie. Wiesz już, jak deklarować zmienne i łączyć ze sobą ciągi. Eksperymentuj w oknie interaktywnym. Okno ma funkcję o nazwie IntelliSense, która zawiera sugestie dotyczące tego, co można zrobić. Wpisz .
po d
w firstFriend
. Zostanie wyświetlona lista sugestii dotyczących właściwości i metod, których można użyć.
Używałeś metody ,, Console.WriteLinedo drukowania komunikatów. Metoda to blok kodu, który implementuje jakąś akcję. Ma ona nazwę, aby można było uzyskać do niej dostęp.
Przyciąć
Załóżmy, że twoje ciągi mają spacje na początku lub na końcu, których nie chcesz wyświetlać. Chcesz przyciąć spacje z ciągów. Metoda Trim i powiązane metody TrimStart i TrimEnd wykonują tę pracę. Możesz po prostu użyć tych metod, aby usunąć spacje na początku i na końcu. Spróbuj wykonać następujący kod:
string greeting = " Hello World! ";
Console.WriteLine($"[{greeting}]");
string trimmedGreeting = greeting.TrimStart();
Console.WriteLine($"[{trimmedGreeting}]");
trimmedGreeting = greeting.TrimEnd();
Console.WriteLine($"[{trimmedGreeting}]");
trimmedGreeting = greeting.Trim();
Console.WriteLine($"[{trimmedGreeting}]");
Nawiasy kwadratowe [
i ]
ułatwiają wizualizowanie metod Trim
, TrimStart,
i TrimEnd
. Nawiasy pokazują, gdzie rozpoczyna się biały znak i kończy się.
Ten przykład wzmacnia kilka ważnych pojęć dotyczących pracy z ciągami znaków. Metody, które manipulują ciągami, zwracają nowe obiekty ciągów zamiast wprowadzać modyfikacje. Widać, że każde wywołanie dowolnej z metod Trim
zwraca nowy ciąg, ale nie zmienia oryginalnego komunikatu.
Zastąp
Dostępne są inne metody pracy z ciągiem. Na przykład prawdopodobnie używałeś polecenia wyszukiwania i zamiany w edytorze lub procesorze tekstu. Metoda Replace wykonuje coś podobnego w łańcuchu. Wyszukuje ciąg znaków i zastępuje go innym tekstem. Metoda Replace przyjmuje dwa parametry . Te parametry są ciągami między nawiasami. Pierwszy ciąg to tekst, którego należy szukać. Drugi ciąg to tekst, który ma go zastąpić. Wypróbuj to samodzielnie. Dodaj ten kod. Wpisz go, aby zobaczyć wskazówki podczas wpisywania .Re
po zmiennej sayHello
:
string sayHello = "Hello World!";
Console.WriteLine(sayHello);
sayHello = sayHello.Replace("Hello", "Greetings");
Console.WriteLine(sayHello);
Dwie inne przydatne metody tworzą ciąg ALL CAPS lub wszystkie małe litery. Spróbuj wykonać poniższy kod. Wpisz, aby zobaczyć, jak IntelliSense zapewnia wskazówki podczas wpisywania To
:
Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());
Ciągi wyszukiwania
Drugą częścią operacji wyszukiwania i zamiany jest znalezienie tekstu w łańcuchu. Możesz użyć metody Contains do wyszukiwania. Informuje o tym, czy ciąg zawiera wewnątrz niego podciąg. Wypróbuj następujący kod, aby zapoznać się z Contains:
string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.Contains("goodbye"));
Console.WriteLine(songLyrics.Contains("greetings"));
Metoda Contains zwraca wartość logiczną , która informuje, czy wyszukiwany ciąg został znaleziony. Wartość logiczna przechowuje true
lub wartość false
. Po wyświetleniu jako dane wyjściowe tekstu są one pisane wielką literą: odpowiednio True
i False
. Możesz dowiedzieć się więcej o wartościach logicznych w późniejszej lekcji.
Wyzwanie
Istnieją dwie podobne metody, StartsWith i EndsWith, które również wyszukują podciągi w ciągu. Te metody znajdują podciąg na początku lub na końcu ciągu. Spróbuj zmodyfikować poprzedni przykład, aby użyć StartsWith i EndsWith zamiast Contains. Wyszukaj "You" lub "goodbye" na początku ciągu znaków. Wyszukaj "hello" lub "goodbye" na końcu tekstu.
Notatka
Uważaj na znaki interpunkcyjne, kiedy testujesz tekst na końcu ciągu. Jeśli ciąg kończy się kropką, musisz sprawdzić ciąg kończący się kropką.
Powinno się otrzymać true
za rozpoczęcie od "You" i zakończenie na "hello", a false
za rozpoczęcie lub zakończenie z "goodbye".
Czy wymyśliłeś coś podobnego do poniższego (rozwiń, aby zobaczyć odpowiedź):
Ukończyłeś/ukończyłaś samouczek wprowadzający "Hello C#" dotyczący języka C#. Możesz wybrać samouczek Numbers w języku C#, aby rozpocząć następny interaktywny samouczek, lub odwiedzić witrynę .NET, aby pobrać zestaw SDK platformy .NET, utworzyć projekt na maszynie i kontynuować kodowanie. Sekcja "Następne kroki" umożliwia powrót do tych samouczków.
Aby uzyskać więcej informacji na temat typu string
: