Loading...

Структура инициализатору

Структура инициализатору
Класстагыдай эле, сиз структураны түзүү үчүн инициализаторду колдоно аласыз:


@A@Person tom = new Person { name = "Tom", age = 22 };
 
tom.Print();    // Имя: Tom  Возраст: 22
 
struct Person
{
    public string name;
    public int age;
    public void Print() => Console.WriteLine($"Имя: {name}  Возраст: {age}");
}@A@
Инициализаторду колдонгондо, биринчи параметрсиз конструктор чакырылат: эгерде биз параметрсиз конструкторду ачык аныктабасак, анда демейки конструктор чакырылат. Анан анын талааларына тиешелүү маанилер ыйгарылат.

with менен структураны көчүрүү


Маанилерди башкасынан бир структура объектисине кичине өзгөртүүлөр менен көчүрүү керек болсо, анда биз with операторун колдоно алабыз :


@A@Person tom = new Person { name = "Tom", age = 22 };
Person bob = tom with { name = "Bob" };
bob.Print();    // Имя: Bob  Возраст: 22@A@


Бул учурда, bob объекти том объектинин бардык маанилерин алат, андан кийин with операторунан кийин, тармал кашааларда биз өзгөрткүбүз келген маанилери бар талаалар көрсөтүлөт.