Why Nullable<int> can't compile but int? does without 'using System;'
.net, c#, compiler-construction
Solution
I believe that int? is an alias for
System.Nullable<System.Int32>
Because the full type name is specified, there are no reason to add a `using` directive.
Problem
In .Net 2, the code: ``` namespace ns { class Class1 { Nullable<int> a; } } ``` does not compile and gives the error: The type or namespace name 'Nullable' could not be found (are you missing a using directive or an assembly reference?) It is missing `using System;` but this code: ``` namespace ns { class Class1 { int? a; } } ``` compiles. Can somebody explain why?