Вывод типа локальных переменных с var
Используйте var, когда тип очевиден.
«Вывод типа локальных переменных с var» — бесплатный урок C# Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 4 уроков всего.
Что такое var?
var позволяет компилятору вывести тип локальной переменной из инициализатора. Во время компиляции переменная по-прежнему имеет строгий тип.
using System;
class Program {
static void Main() {
var count = 10;
Console.WriteLine(count);
}
}var — это не dynamic
var определяется во время компиляции. var x = 10 — это ровно int, и позднее в него нельзя записать строку.
using System;
class Program {
static void Main() {
var name = "Ada";
Console.WriteLine(name.GetType().Name);
}
}Вывод типа из литералов
Компилятор анализирует литерал, чтобы выбрать тип: 1 — это int, 1.5 — double, "hi" — строка.
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);
}
}Инициализатор обязателен
Поскольку тип берётся из инициализатора, переменным var необходимо присвоить значение при объявлении.
using System;
class Program {
static void Main() {
var total = 0;
for (int i = 1; i <= 4; i++) total += i;
Console.WriteLine(total);
}
}var с очевидными типами
var особенно полезен, когда правая часть уже указывает тип, например при вызове конструктора. Это избавляет от повторения.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var list = new List<int> { 1, 2, 3 };
Console.WriteLine(list.Count);
}
}var с результатами методов
Можно использовать var для возвращаемых значений, если из имени метода понятен тип результата.
using System;
class Program {
static int Square(int n) { return n * n; }
static void Main() {
var result = Square(6);
Console.WriteLine(result);
}
}var в цикле foreach
var удобен в циклах foreach, перебирающих коллекции с известным типом элементов.
using System;
class Program {
static void Main() {
var names = new[] { "Sam", "Lee" };
foreach (var n in names)
Console.WriteLine(n);
}
}Массивы с выведенным типом
Тип элементов неявно типизированного массива new[] { ... } выводится из его значений.
using System;
class Program {
static void Main() {
var nums = new[] { 10, 20, 30 };
Console.WriteLine(nums.Length);
}
}var по-прежнему типобезопасен
Поскольку тип фиксирован, последующее присваивание значения неправильного типа приводит к ошибке компиляции, как и явное объявление.
using System;
class Program {
static void Main() {
var x = 5;
x = 10;
Console.WriteLine(x);
}
}var и анонимные типы
var необходим для анонимных типов, поскольку у них нет имени, которое можно было бы указать.
using System;
class Program {
static void Main() {
var point = new { X = 3, Y = 4 };
Console.WriteLine(point.X + ", " + point.Y);
}
}Преимущество для читаемости
При правильном использовании var уменьшает шум и помогает выровнять код, особенно при длинных именах обобщённых типов.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var scores = new Dictionary<string, int> { ["Ann"] = 90 };
Console.WriteLine(scores["Ann"]);
}
}Быстрая проверка
Проверьте понимание var.
Итоги
var указывает компилятору вывести тип локальной переменной из её инициализатора, поэтому переменная остаётся строго типизированной и фиксированной во время компиляции, в отличие от dynamic.
Для него требуется инициализатор, он устраняет избыточные имена типов и необходим для анонимных типов. Он повышает читаемость, когда тип и так очевиден.
Часто задаваемые вопросы
Урок «Вывод типа локальных переменных с var» бесплатный?
Да — полный текст урока «Вывод типа локальных переменных с var» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 4 уроков всего.
Чему я научусь в уроке «Вывод типа локальных переменных с var»?
Используйте var, когда тип очевиден. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C# Academy?
Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Вывод типа локальных переменных с var»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C# Academy?
Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Вывод типа локальных переменных с var
- Когда следует избегать var
- Тип dynamic
- Выражения new с выводом типа по контексту