Why is it necessary to initialize all fields in meaningful C # types, if there is a constructor?
For example, the following code will not compile
struct AAA { public int A; public string C; public AAA(int a) { A = a; } } The AAA.C field must be fully defined before returning control to the calling method.
But if we remove the constructor, then everything compiles
struct AAA { public int A; public string C; }