Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1053 of 1492 menu
◀ ▶

Ключевое слово class

Ключевое слово class объявляет ссылочный тип. Экземпляр создают через new, переменная хранит ссылку на объект в куче. Несколько переменных могут указывать на один объект - изменение через одну ссылку видно через другую. В отличие от struct, копирование ссылки не создаёт новый объект.

Синтаксис

class Имя { // поля, свойства, методы }

Пример

Давайте создадим класс с полем и методом:

using System; class Counter { public int Value; public void Add(int delta) { Value += delta; } } class Program { static void Main() { var counter = new Counter(); counter.Add(5); Console.WriteLine(counter.Value); } }

Результат выполнения кода:

5

Пример

Давайте проверим, что две ссылки указывают на один объект:

using System; class Box { public string Text; } class Program { static void Main() { var first = new Box { Text = "abcde" }; var second = first; second.Text = "12345"; Console.WriteLine(first.Text); } }

Результат выполнения кода:

"12345"

Пример

Давайте сохраним список в поле класса:

using System; using System.Collections.Generic; class Holder { public List<int> Nums = new List<int> {1, 2, 3, 4, 5}; } class Program { static void Main() { var holder = new Holder(); Console.WriteLine(holder.Nums.Count); } }

Результат выполнения кода:

5

Смотрите также

  • ключевое слово struct,
    которое объявляет тип-значение
  • ключевое слово record,
    которое задаёт ссылочную запись с равенством полей
  • оператор new,
    который создаёт экземпляр типа
  • класс Object,
    от которого неявно наследуют все классы
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить