Deklarowanie niejawnie wpisanych zmiennych lokalnych

Ukończone

Kompilator języka C# działa w tle, aby ułatwić pisanie kodu. Może on wnioskować typ danych zmiennej na podstawie wartości użytej do inicjowania. W tej lekcji poznasz tę funkcję nazywaną niejawnie typizowanymi zmiennymi lokalnymi.

Co to są niejawnie typizowane zmienne lokalne?

Niejawnie typizowana zmienna lokalna jest tworzona przy użyciu var słowa kluczowego, po którym następuje inicjowanie zmiennej. Na przykład:

var message = "Hello world!";

W tym przykładzie utworzono zmienną ciągu przy użyciu słowa kluczowego var zamiast słowa kluczowego string .

Słowo var kluczowe informuje kompilator języka C#, że typ danych jest implikowany przez przypisaną wartość. Po dorozumianiu typu zmienna działa tak samo, jak w przypadku użycia rzeczywistego typu danych do zadeklarowania go. Słowo var kluczowe służy do zapisywania na naciśnięciu klawiszy, gdy typy są długie lub gdy typ jest oczywisty z kontekstu.

W przykładzie:

var message = "Hello world!";

Ponieważ zmienna message jest natychmiast ustawiona na string wartość "Hello World!", kompilator języka C# rozumie intencję i traktuje każde wystąpienie message typu string.

W rzeczywistości zmienna message jest typowana jako i string nigdy nie można jej zmienić. Rozważmy na przykład następujący kod:

var message = "Hello World!";
message = 10.703m;

Jeśli uruchomisz ten kod, zobaczysz następujący komunikat o błędzie.

(2,11): error CS0029: Cannot implicitly convert type 'decimal' to 'string'

Uwaga

Inne języki programowania używają słowa kluczowego var w inny sposób. W języku C# zmienne są przypisywane typowi przez kompilator niezależnie od tego, czy używasz rzeczywistej nazwy typu danych, czy też zezwalasz kompilatorowi na sugerowanie typu danych. Inaczej mówiąc, typ jest blokowany w momencie deklaracji i dlatego zmienna nigdy nie będzie mogła przechowywać wartości innego typu danych.

Zmienne używające słowa kluczowego var muszą być inicjowane

Ważne jest zrozumienie tego, że słowo kluczowe var zależy od wartości użytej do inicjowania zmiennej. Jeśli spróbujesz użyć słowa kluczowego var bez inicjowania zmiennej, wystąpi błąd podczas próby skompilowania kodu.

var message;

Jeśli spróbujesz uruchomić ten kod, gdy zostanie skompilowany, zobaczysz następujące dane wyjściowe:

(1,5): error CS0818: Implicitly-typed variables must be initialized

Dlaczego warto używać słowa kluczowego var?

Słowo var kluczowe zostało powszechnie przyjęte w społeczności języka C#. Prawdopodobnie jeśli spojrzysz na przykład kodu w książce lub w trybie online, zobaczysz var słowo kluczowe użyte zamiast rzeczywistej nazwy typu danych, dlatego ważne jest, aby zrozumieć jego użycie.

Słowo var kluczowe ma ważne zastosowanie w języku C#. Wiele razy typ zmiennej jest oczywisty z jego inicjowania. W takich przypadkach łatwiej jest użyć słowa kluczowego var . Słowo var kluczowe może być również przydatne podczas planowania kodu dla aplikacji. Po rozpoczęciu tworzenia kodu dla zadania możesz nie od razu wiedzieć, jakiego typu danych użyć. Korzystanie z var tego rozwiązania może pomóc w bardziej dynamicznym tworzeniu rozwiązania.

Podczas rozpoczynania pracy zaleca się, aby podczas deklarowania zmiennych nadal używać rzeczywistej nazwy typu danych, dopóki nie będziesz bardziej komfortowo pracować z kodem. Użycie typu danych podczas deklarowania zmiennych pomoże Ci podkreślić przeznaczenie pisanego kodu.

Podsumowanie

Oto, co wiesz już o słowie var kluczowym do tej pory:

  • Słowo kluczowe var nakazuje kompilatorowi wnioskowanie typu danych zmiennej na podstawie wartości, z którą została zainicjowana.
  • Słowo kluczowe będzie prawdopodobnie widoczne var podczas odczytywania kodu innych osób, jednak jeśli jest to możliwe, należy użyć typu danych.