У меня есть две аналогичные структуры в С#, каждая из которых содержит целое число, но последняя имеет доступ к аксессуарам get/set.
Почему мне нужно инициализировать структуру Y
с помощью оператора new
до назначения поля a
? Является ли Y
типом значения, когда я инициализирую его с помощью new
?
public struct X
{
public int a;
}
public struct Y
{
public int a { get; set; }
}
class Program
{
static void Main(string[] args)
{
X x;
x.a = 1;
Y y;
y.a = 2; // << compile error "unused local variable" here
Y y2 = new Y();
y2.a = 3;
}
}