Paikallisten muuttujien päättely var-avainsanalla
Käyttäkää var-avainsanaa, kun tyyppi on ilmeinen.
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.
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
- Paikallisten muuttujien päättely var-avainsanalla
- Milloin var-avainsanaa kannattaa välttää
- dynamic-tyyppi
- Kohdetyypitetyt new-lausekkeet