Конструкторы
97C# --- Руководство по C# --- Конструкторы
Конструктор инициализирует объект при его создании. У конструктора такое же имя, как и у его класса, а с точки зрения синтаксиса он подобен методу. Но у конструкторов нет возвращаемого типа, указываемого явно. Ниже приведена общая форма конструктора:
доступ имя_класса(список_параметров) { // тело конструктора }
Как правило, конструктор используется для задания первоначальных значений переменных экземпляра, определенных в классе, или же для выполнения любых других установочных процедур, которые требуются для создания полностью сформированного объекта. Кроме того, доступ обычно представляет собой модификатор доступа типа public, поскольку конструкторы зачастую вызываются в классе. А список_параметров может быть как пустым, так и состоящим из одного или более указываемых параметров.
Каждый класс C# снабжается конструктором по умолчанию, который при необходимости может быть переопределен. По определению такой конструктор никогда не принимает аргументов. После размещения нового объекта в памяти конструктор по умолчанию гарантирует установку всех полей в соответствующие стандартные значения. Если вы не удовлетворены такими присваиваниями по умолчанию, можете переопределить конструктор по умолчанию в соответствии со своими нуждами.
Конструктор также может принимать один или несколько параметров. В конструктор параметры вводятся таким же образом, как и в метод. Для этого достаточно объявить их в скобках после имени конструктора.
Давайте рассмотрим применение конструкторов на примере:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class MyClass
{
public string Name;
public byte Age;
// Создаем параметрический конструктор
public MyClass(string s, byte b)
{
Name = s;
Age = b;
}
public void reWrite()
{
Console.WriteLine("Имя: {0}\nВозраст: {1}", Name, Age);
}
}
class Program
{
static void Main(string[] args)
{
MyClass ex = new MyClass("Alexandr", 26);
ex.reWrite();
Console.ReadLine();
}
}
}

Как видите, в данном примере поля экземпляра класса ex инициализируются по умолчанию с помощью конструктора.