From C# 6 onward: this is no longer a problem
Becore C# 6, you need to call the default constructor for this to work:
public MyStruct(int size) : this()
{
Size = size;
}
A bigger problem here is that you have a mutable struct. This is never a good idea. I would make it:
public int Size { get; private set; }
Not technically immutable, but close enough.
With recent versions of C#, you can improve on this:
public int Size { get; }
This can now only be assigned in the constructor.