Przed Tobą kolejny rozdział o języku C#, w którym przyjrzymy się słowu kluczowemu "var" 🔍! "var" w języku C# nie stanowi niezbędnej wiedzy do tego, aby programować, natomiast może nieco uprzyjemnić pisanie kodu do tego stopnia, że zechcesz "przesiąść się" na to na stałe ❤️! A zatem zapraszam, a być może nauczysz się czegoś nowego 😄!
OTO CO OZNACZA "VAR" W JĘZYKU C#!
Na początku wyjaśnię Ci co się kryje za tym hasłem, a potem przejdziemy do ukazania przykładów praktycznych 🙂!
Czym jest "var" w języku C#?
W języku C#, "var" to słowo kluczowe oznaczające zmienną lokalną o niejawnej typizacji 🔥. Oznacza to, iż typ danych takiej zmiennej nie jest ściśle określony przez nas w deklaracji, tylko jest "domniemany" przez kompilator 😮!
Korzystając ze słowa "var", gdy zmienna ma określoną przypisaną wartość, kompilator może na jej podstawie wywnioskować jaki typ danych ma ona reprezentować w danej chwili. Gdy "zauważy", że przypisaliśmy liczbę 40, to znak że chodzi nam o typ "int" 🔢. Jak przypiszemy łańcuch znaków, to typ "string" będzie pasować jak ulał i tak dalej ⛓. Jeżeli informacja na temat przypisanej wartości jest jednoznaczna, kompilator będzie w stanie "odgadnąć" typ danych jaki mieliśmy na myśli ❤️! Są tylko skrajne przypadki, w których sobie nie poradzi i siłą rzeczy musimy wtedy sami określić typ.
Jak skorzystać ze słowa kluczowego "var" w języku C#?
Mając dowolną metodę obojętnie w którym miejscu w kodzie, wystarczy że przy tworzeniu w niej zmiennej (lokalnej), umieścisz słowo kluczowe "var" w tym samym miejscu, w którym wprowadzamy typ danych 👇:
var myVariable = 6;I to wszystko! Nie ma żadnych innych sposobów zapisu 😆!
Warto jednak wiedzieć, że słowo "var" jest dla nas dostępne do użycia tylko w jednym przypadku ⚠️.
Kiedy możemy użyć słowa kluczowego "var" w języku C#?
Słowa "var" w języku C# możemy użyć tylko w stosunku do zmiennych przy spełnieniu dwóch następujących warunków 👇:
- zmienna musi mieć przypisaną wartość w miejscu deklaracji, ponieważ kompilator potrzebuje jakiejś wskazówki, na podstawie której przypisze odpowiedni typ danych,
- zmienna musi występować wewnątrz funkcji, czyli być zmienną lokalną.
Wtedy i tylko wtedy, możemy skorzystać z niejawnej typizacji ✔️.
Istnieją sytuacje, w których kompilatorowi nie uda się samemu wywnioskować typu danych pomimo spełnionych obu warunków. Jeden taki przykład to sytuacja, w której zależnie od warunku chcielibyśmy wywołać inną metodę i przypisać ją do zmiennej w charakterze delegata 👇:
var action = x % 2 == 0 ? DoSomethingA : DoSomethingB;W domyśle chodzi o "Action", natomiast to się nie uda mimo faktu, iż składniowo wszystko zapisaliśmy poprawnie i trzeba doprecyzować, że interesuje nas ten typ 👇:
Action action = x % 2 == 0 ? DoSomethingA : DoSomethingB;Wtedy to się skompiluje ✅.
Jakie są zalety stosowania "var" w języku C#?
Słowo kluczowe "var" rewelacyjnie upraszcza typ danych zmiennej i ma to znaczenie szczególnie, gdy mówimy o długich nazwach czy dużej liczbie typów generycznych 👍. Na przykład gdy zamienimy to 👇:
List<MyClass> myClassInstances = new List<MyClass>();na samo słówko "var" 👇:
var myClassInstances = new List<MyClass>();to widać gołym okiem, że jest znacznie krócej ❤️!
Drugą zaletą jest automatyczne "podmienianie" typu danych przez sam kompilator, natychmiast po zmianie przypisanej wartości, dzięki czemu sami nie musimy tego robić 👍. Jak napiszemy tradycyjnie 👇:
int x = 5;to potem chcąc zmienić typ danych, musimy to zrobić ręcznie 👇:
string x = "Mój łańcuch znaków";"var" sprawi, że zostanie to automatycznie dostosowane na pasujący typ danych, w zależności od samej wartości. Tu podstawi "int" 👇:
var x = 5;a tutaj "string" 👇:
var x = "Mój łańcuch znaków";natomiast słowo zostaje takie samo 😊!
![]() |
"var" w języku C# sprawia, że zmienna lokalna otrzymuje niejawną typizację, sprawiając że typ danych jest nadawany automatycznie poprzez "wnioskowanie" kompilatora (o ile jest w stanie to zrobić).
Temat zamknięty. Mała rzecz, a może Ci się spodobać 😉!
