У меня есть две аналогичные структуры в С#, каждая из которых содержит целое число, но последняя имеет доступ к аксессуарам 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;
}
}