Оператор new (довідник по c #), microsoft docs

В цій статті

Застосовується для створення об'єктів і виклику конструкторів. наприклад:

Він також використовується для створення екземплярів анонімних типів.

За допомогою оператора new можна викликати за замовчуванням конструктор для типів значень. наприклад:

У попередньому операторі i инициализируется значенням 0. яке є значенням за замовчуванням для типу int. Цей оператор призводить до результату, представленому далі.

Повний список значень за замовчуванням див. В розділі Таблиця значень за замовчуванням.

Об'єкти типу значення, наприклад структури, створюються в стеку, тоді як об'єкти посилального типу, наприклад класи, створюються в купі. Знищення обох типів об'єктів виконується автоматично, але об'єкти на основі типів значень видаляються при виході за межі прав, а об'єкти на основі довідкових типів - в Незазначені час після видалення останньої посилання, що вказує на них. Для довідкових типів, що використовують фіксовані ресурси, наприклад великий обсяг пам'яті, файлові дескриптори, мережеві підключення, іноді рекомендується використовувати детерміновану фіналізації для забезпечення якнайшвидшого знищення об'єкта. Додаткові відомості див. У розділі Оператор using.

Оператор new перевантажити не можна.

Якщо оператору new не вдається виділити пам'ять, він створює виняток OutOfMemoryException.

У наступному прикладі створюються об'єкт struct і об'єкт класу, які не започатковано за допомогою оператора new. після чого їм присвоюються значення. Відображаються задані за замовчуванням і привласнені значення.

Зверніть увагу, що в прикладі рядок має значення за замовчуванням null. Тому вона не відображається.

Специфікація мови C #

Додаткові відомості див. У специфікації мови C #. Специфікація мови є розпорядчим джерелом інформації про синтаксис і використанні мови C #.

Схожі статті