In .NET, a value type (C# struct) can\'t have a constructor with no parameters. According to this post this is mandated by the CLI specification. What happens i
struct
Just special-case it. If you see a numerator of 0 and a denominator of 0, pretend like it has the values you really want.