Udostępnij za pośrednictwem


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ą, aFriendi 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ź):

:::code language="csharp" interactive="try-dotnet-method" source="./snippets/HelloWorld/Program.cs" id="Challenge":::

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: