Code:
public struct FullName
{
   public string FirstName;
   public string LastName;

   public FullName(string First)
   {
      this.FirstName = First;
      this.LastName = Demo();
   }

   public string Demo() { return "demo"; }
}
Gives me the following compile error
The 'this' object cannot be used before all of its fields are assigned to
If FullName were to be class instead of struct, I don't get compilation errors.

Can anyone explain this to me please ?