Члены класса разделяются на две категории: члены данных и функциональные члены
Простые типы данных, которые мы разобрали ранее, такие как int, long, short — это встроенные типы платформы .NET. Разработчики Microsoft заранее реализовали их и интегрировали в фреймворк .NET. При установке Visual Studio 2022 вместе с ним устанавливается и .NET, в комплекте с этими стандартными простыми типами. Каждый такой тип способен хранить только одно значение.
Позже вы познакомитесь с другими типами, рассчитанными на хранение множества значений, самый распространённый пример — массив. Массив хранит набор значений одного типа, например несколько целых чисел int. Каждая отдельная единица внутри массива называется элементом, доступ к элементам осуществляется через индекс. Детальный разбор массивов будет в последующих уроках.
Также существуют составные типы, позволяющие хранить несколько единиц данных разных типов; эти отдельные единицы именуются членами. Чтобы получить доступ к члену, нужно использовать присвоенное ему имя.
Члены делятся на два типа: члены данных и функциональные члены.
Члены данных: хранят информацию, привязанную к экземпляру объекта класса или ко всему классу в целом
Функциональные члены: выполняют программную логику и определяют поведение, характерное для данного типа
В приведённом ниже классе Person прописаны два члена данных
class Person
{
private string name;
private int age;
public void SayHi()
{
}
public void SetMyName(string name)
{
this.name = name;
}
}Code language: PHP (php)
Члены данных (Поля / Свойства): отвечают за хранение состояния объекта, к примеру имя и возраст в классе пользователя
Функциональные члены (Методы): описывают поведение объекта — например изменение имени пользователя, вывод приветствия и другие действия
Доступ к массивам реализуется через цифровые индексы, а к членам класса — через пользовательские имена
class Program
{
static void Main(string[] args)
{
// This is a int array
int[] array = new int[5] { 1,2,3,4,5 };
Console.WriteLine(array[0]); // 1
Person person = new Person();
person.SetMyName("John");
person.SetMyAge(30);
person.SayHi(); // Hi, my name is John and I am 30 years old.
}
}
class Person
{
private string name;
private int age;
public void SayHi()
{
Console.WriteLine($"Hi, my name is {name} and I am {age} years old.");
}
public void SetMyName(string name)
{
this.name = name;
}
public void SetMyAge(int age)
{
this.age = age;
}
}Code language: PHP (php)
В примере выше создаётся массив целых чисел из пяти элементов с начальными значениями 1, 2, 3, 4, 5. Чтобы получить первый элемент, используется индекс 0 — запомните, индексация массивов начинается с нуля.
А доступ к членам класса осуществляется через имя объекта с точкой, как в примере person.

Конструкция Class Person { } — это лишь описание класса. Код внутри неё не будет выполняться, если его не вызвать из другого участка программы. Без вызова это просто шаблон или чертеж, который не даст никакого эффекта.
В то же время точка входа в программу — функция Main — относится к статическим функциям (мы разберем статику позже). Для её работы не нужно создавать экземпляр объекта, она принадлежит напрямую классу. Когда пользователь дважды кликает по exe-файлу для запуска программы, операционная система автоматически вызывает функцию Main.
Члены класса