Инициализация переменной с new() или default?
Код:
using System;
int first = 0;
int second = new();
int third = default;
Console.WriteLine("first: {0};", first);
Console.WriteLine("second: {0};", second);
Console.WriteLine("third: {0};", third);
В моих глазах new() и default - одно и тоже. Но default можно использовать для изменения значения переменной не только при инициализации или первом присваивании переменной.
Так в чем разница между этими инициализациями?
Ответы (1 шт):
Автор решения: Yotic
→ Ссылка
Если речь об ссылочных типах - default(your_var) вернёт null.
В ином случае default(your_var) вернёт инициализированную структуру, даже если у этой структуры нет конструктора или нет конструктора без параметров.
Пример с Complex(struct) - https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/operators/default