Записи (record) и сравнение по значению в C#
В этом уроке вы будете кратко описывать неизменяемые данные с помощью записей и создавать изменённые копии выражением with.
Введение
Запись (record) - тип, созданный для объектов, которые в основном хранят данные. Всего одна строка объявления даёт конструктор, свойства только для чтения и аккуратный вывод. А главное, две записи считаются равными, если значения внутри них одинаковы.
Строка record User(string Name, string Role) создаёт тип с двумя свойствами Name и Role. Выражение original with { Role = "Lead" } создаёт копию, в которой меняется только Role, а original остаётся с Developer. При выводе запись автоматически показывает своё содержимое в виде User { Name = Ada, Role = Lead }.
Пример на C#, который можно запустить
using System;
record User(string Name, string Role);
class Program
{
static void Main()
{
var original = new User("Ada", "Developer");
var promoted = original with { Role = "Lead" };
Console.WriteLine(promoted);
}
}
User { Name = Ada, Role = Lead }Практика с отладчиком
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
Все задачи