0Pricing
C# Academy · Lekcja

Kiedy unikać var

Zachowaj czytelność kodu, jawnie określając typ, gdy jest to potrzebne.

Kiedy unikać var to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 4 lekcji w sumie.

var może ukrywać typ

var jest wygodny, ale może zaciemniać rzeczywisty typ zmiennej, pogarszając czytelność dla kolejnej osoby czytającej kod.

using System;

class Program {
    static void Main() {
        var x = Compute();
        Console.WriteLine(x);
    }
    static int Compute() { return 42; }
}

Niejasne typy zwracane metod

Gdy nazwa metody nie ujawnia typu zwracanego, należy preferować jawny typ, aby czytający wiedzieli, z czym mają do czynienia.

using System;

class Program {
    static double Process() { return 3.14; }
    static void Main() {
        double value = Process();
        Console.WriteLine(value);
    }
}

Niespodzianki związane z typami liczb

var sum = 0 ma typ int. Jeśli oczekuje się typu double, może to prowadzić do błędów związanych z dzieleniem całkowitoliczbowym.

using System;

class Program {
    static void Main() {
        double sum = 0;
        sum += 7 / 2.0;
        Console.WriteLine(sum);
    }
}

Jawny typ dla interfejsów

Jeśli kod ma działać względem interfejsu, należy zadeklarować go jawnie; var wybrałby zamiast tego typ konkretny.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        IList<int> items = new List<int> { 1, 2 };
        Console.WriteLine(items.Count);
    }
}

Odległe inicjalizatory

Gdy inicjalizator jest długim lub zagnieżdżonym wyrażeniem, jawny typ lepiej dokumentuje intencję niż var.

using System;

class Program {
    static void Main() {
        int finalScore = (10 + 5) * 2 - 3;
        Console.WriteLine(finalScore);
    }
}

Unikanie var dla jasności typów prostych

Wiele zespołów zapisuje jawny typ dla prostych typów podstawowych, aby zamierzony rodzaj liczby był jednoznaczny.

using System;

class Program {
    static void Main() {
        long bigCount = 5000000000;
        Console.WriteLine(bigCount);
    }
}

var nie może być polem

var służy wyłącznie do zmiennych lokalnych. Typy pól, parametrów i zwracane muszą być zawsze określone jawnie.

using System;

class Program {
    static int field = 100;
    static void Main() {
        Console.WriteLine(field);
    }
}

Wnioskowanie przy mieszanych typach liczbowych

Należy zachować ostrożność: var avg = total / count z dwiema wartościami typu int nadal daje wynik typu int. Gdy potrzebne są liczby dziesiętne, należy jawnie określić intencję.

using System;

class Program {
    static void Main() {
        int total = 7, count = 2;
        double avg = (double)total / count;
        Console.WriteLine(avg);
    }
}

Różne standardy stylu

Niektóre standardy mówią: „używaj var tylko wtedy, gdy typ jest oczywisty po prawej stronie”. Spójna reguła pomaga całemu zespołowi.

using System;

class Program {
    static void Main() {
        var customer = new string("Ann"[0], 3);
        Console.WriteLine(customer);
    }
}

Równowaga między wygodą a jasnością

Celem jest czytelny kod. Należy używać var tam, gdzie pomaga, a jawnych typów tam, gdzie zwiększają jasność.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        var lookup = new Dictionary<int, string>();
        int key = 1;
        lookup[key] = "one";
        Console.WriteLine(lookup[1]);
    }
}

Praktyczna zasada

Jeśli nie można określić typu na podstawie samego wiersza, należy zapisać go jawnie. W przeciwnym razie var jest odpowiedni.

using System;

class Program {
    static void Main() {
        var greeting = "Hello";
        decimal price = 19.99m;
        Console.WriteLine(greeting + " " + price);
    }
}

Szybkie sprawdzenie

Proszę sprawdzić umiejętność oceny, kiedy unikać var.

Podsumowanie

Należy unikać var, gdy ukrywa ważny typ, gdy znaczenie ma rodzaj liczby (int czy double), gdy kod ma działać względem interfejsu lub gdy nazwa metody nie ujawnia jej typu zwracanego.

var działa wyłącznie dla zmiennych lokalnych. Dobra zasada brzmi: jeśli sam wiersz nie ujawnia typu, należy zapisać go jawnie.

Często zadawane pytania

Czy lekcja „Kiedy unikać var” jest bezpłatna?

Tak — pełny tekst „Kiedy unikać var” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Kiedy unikać var”?

Zachowaj czytelność kodu, jawnie określając typ, gdy jest to potrzebne. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Kiedy unikać var”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wnioskowanie typu zmiennych lokalnych za pomocą var
  2. Kiedy unikać var
  3. Typ dynamic
  4. Wyrażenia new z typem docelowym
← Powrót do C# Academy