Можно использовать конструктор, где каждый раз, когда создается объект и если мы хотим, чтобы какой-то код выполнялся автоматическиКод, который мы хотим выполнить, должен быть помещен в конструктор.Общая форма конструктора C # выглядит следующим образом:
modifier constructor_name (parameters)
{
//constructor body
}
Модификаторы могут быть частными, общедоступными, защищенными или внутренними. Имя конструктора должно быть именем класса, в котором он определен.Конструктор может принимать ноль или более аргументов.Конструктор с нулевыми аргументами (то есть без аргументов) называется конструктором по умолчанию.Помните, что для конструктора нет возвращаемого типа.
Следующий класс содержит конструктор, который принимает два аргумента.
class Complex
{
private int x;
private int y;
public Complex (int i, int j)
{
x = i;
y = j;
}
public void ShowXY ()
{
Console.WriteLine(x + "i+" + y);
}
}
В следующем фрагменте кода в командной строке отобразится 20 + i25.
Complex c1 = new Complex (20,25);
c1.ShowXY (); // Displays 20+i25
То есть, когда мы создаем объект класса Complex, он автоматически вызывает конструктор и инициализирует свои элементы данных x и y.Можно сказать, что конструктор в основном используется для инициализации объекта.Даже можно делать очень сложные вычисления внутри конструктора.Оператор внутри конструктора также может генерировать исключения.
Деструкторы
.NET Framework имеет встроенный механизм сбора мусора для освобождения памяти, занятой неиспользуемыми объектами.Деструктор реализует операторы, которые должны быть выполнены во время процесса сборки мусора.Деструктор - это функция с тем же именем, что и имя класса, но начинающаяся с символа ~.
Пример:
class Complex
{
public Complex()
{
// constructor
}
~Complex()
{
// Destructor
}
}
Помните, что деструктор не может иметь таких модификаторов, какзакрытое, общедоступное и т. д. Если мы объявим деструктор с модификатором, компилятор выдаст ошибку. Также деструктор будет иметь только одну форму без каких-либо аргументов.В C # нет параметризованного деструктора.
Деструкторы вызываются автоматически и не могут быть вызваны явно.Объект становится пригодным для сборки мусора, когда он больше не используется активной частью программы.Выполнение деструктора может произойти в любое время после того, как экземпляр или объект могут быть уничтожены.