C# Academy · Oppitunti

Paikallisten muuttujien päättely var-avainsanalla

Käyttäkää var-avainsanaa, kun tyyppi on ilmeinen.

Oppitunti 1/413 vaihetta

Paikallisten muuttujien päättely var-avainsanalla on ilmainen C# Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C# Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C# Academy-kurssilla on yhteensä 4 oppituntia.

Mikä on var?

var antaa kääntäjän päätellä paikallisen muuttujan tyypin alustuslausekkeesta. Muuttuja on silti käännösaikana vahvasti tyypitetty.

using System;

class Program {
    static void Main() {
        var count = 10;
        Console.WriteLine(count);
    }
}

var ei ole dynamic

var ratkaistaan käännösaikana. var x = 10 on täsmälleen tyyppiä int, eikä siihen voi myöhemmin sijoittaa merkkijonoa.

using System;

class Program {
    static void Main() {
        var name = "Ada";
        Console.WriteLine(name.GetType().Name);
    }
}

Tyypin päättely literaaleista

Kääntäjä lukee literaalin ja valitsee tyypin: 1 on int, 1.5 on double ja "hi" on string.

using System;

class Program {
    static void Main() {
        var a = 1;
        var b = 1.5;
        var c = "hi";
        Console.WriteLine(a.GetType().Name + " " + b.GetType().Name + " " + c.GetType().Name);
    }
}

Alustus vaaditaan

Koska tyyppi päätellään alustuslausekkeesta, var-muuttujille on annettava arvo niiden määrityksen yhteydessä.

using System;

class Program {
    static void Main() {
        var total = 0;
        for (int i = 1; i <= 4; i++) total += i;
        Console.WriteLine(total);
    }
}

var ilmeisten tyyppien kanssa

var on parhaimmillaan, kun oikea puoli ilmaisee tyypin jo itsessään, esimerkiksi konstruktorikutsussa. Näin vältetään toistoa.

using System;
using System.Collections.Generic;

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

var metodien palautusarvojen kanssa

Voitte käyttää var-määritystä palautusarvoille, kun metodin nimi tekee tyypin selväksi.

using System;

class Program {
    static int Square(int n) { return n * n; }
    static void Main() {
        var result = Square(6);
        Console.WriteLine(result);
    }
}

var foreach-silmukassa

var on kätevä foreach-silmukoissa, jotka käyvät läpi kokoelmia, joiden alkiotyypit tunnetaan.

using System;

class Program {
    static void Main() {
        var names = new[] { "Sam", "Lee" };
        foreach (var n in names)
            Console.WriteLine(n);
    }
}

Päätellyt taulukot

Implisiittisesti tyypitetty taulukko new[] { ... } päättelee alkiotyypin arvoista.

using System;

class Program {
    static void Main() {
        var nums = new[] { 10, 20, 30 };
        Console.WriteLine(nums.Length);
    }
}

var on silti tyyppiturvallinen

Koska tyyppi on kiinteä, väärän tyypin sijoittaminen myöhemmin aiheuttaa käännösvirheen aivan kuten eksplisiittisessä määrityksessä.

using System;

class Program {
    static void Main() {
        var x = 5;
        x = 10;
        Console.WriteLine(x);
    }
}

var ja nimettömät tyypit

var on pakollinen nimettömille tyypeille, koska niillä ei ole kirjoitettavaa nimeä.

using System;

class Program {
    static void Main() {
        var point = new { X = 3, Y = 4 };
        Console.WriteLine(point.X + ", " + point.Y);
    }
}

Luettavuuden parantaminen

Oikein käytettynä var vähentää ylimääräistä tekstiä ja pitää koodin linjassa erityisesti pitkien geneeristen tyyppinimien yhteydessä.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        var scores = new Dictionary<string, int> { ["Ann"] = 90 };
        Console.WriteLine(scores["Ann"]);
    }
}

Pikatarkistus

Testatkaa var-määrityksen ymmärtämistänne.

Kertaus

var käskee kääntäjää päättelemään paikallisen muuttujan tyypin alustuslausekkeesta, joten muuttuja pysyy vahvasti tyypitettynä ja kiinteänä käännösaikana, toisin kuin dynamic.

Se vaatii alustuslausekkeen, poistaa tarpeettomat tyyppinimet ja on pakollinen nimettömille tyypeille. Se parantaa luettavuutta, kun tyyppi on jo ilmeinen.

Aloita maksutta

Opi C# tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
93
Oppitunnit
346

Usein kysytyt kysymykset

Onko oppitunti ”Paikallisten muuttujien päättely var-avainsanalla” ilmainen?

Kyllä – oppitunnin ”Paikallisten muuttujien päättely var-avainsanalla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C# Academy-kurssin, päivitä CoddyKit PROhon. C# Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Paikallisten muuttujien päättely var-avainsanalla”?

Käyttäkää var-avainsanaa, kun tyyppi on ilmeinen. Harjoittelet C# Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni C# Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin C# Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Paikallisten muuttujien päättely var-avainsanalla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä C# Academy-oppitunnilla?

Kyllä. Jokainen C# Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Paikallisten muuttujien päättely var-avainsanalla
  2. Milloin var-avainsanaa kannattaa välttää
  3. dynamic-tyyppi
  4. Kohdetyypitetyt new-lausekkeet
← Takaisin: C# Academy