Specification for Nullable [Kit George]

I thought I'd make the Nullable specification available to everyone, for reference, and in order to allow you to ask any questions/issues. This is about to go through an ECMA review as well, so it should be interesting to see what their issues/comments are.

I've posted the specification on http://www.gotdotnet.com/team/clr/bcl/general/nullable2.doc. We'll continue to make more specifications available as we get closer to shipping!

Comments (8)

  1. Anonymous says:

    What is "cheops" ?

  2. Anonymous says:

    I cannot believe it has come to this…I am reading specs!

  3. Anonymous says:

    Aaaaah, Julia…

    Think of it as advance documentation for the type 😉

  4. Anonymous says:

    Ricky, Cheops is a Network User Interface, commonly referred to as ‘The Swiss Army Knife’ for unifying your network. There’s a variety of sources with details out there, but one starting reference can be found at http://www.marko.net/cheops/

  5. Anonymous says:

    I love the idea of Nullable<T> as a null semantic for value types, however unless there is a compiler change I do not see the likelyhood of Nullable<T> being supported by the "as" keyword in c#.

    Ideally, I should be able to use ‘as’ with Nullable<T> in the same way I would use it with a reference type.



    object i = 1;

    Nullable<int> j = i as Nullable<int>;


    I had at one time heard that c# might also support Nullable<T> via a shortcut using the ? symbol, as in:


    ?int i = null;





    Is this still happening? And if so is there the possiblity of providing ‘as’ support?

  6. Anonymous says:

    appologize for the mistake, it was "int?" and I see that it’s there.

  7. Anonymous says:

    Since Nullable<T> is a struct, does this mean we avoid boxing?

  8. Anonymous says:

    Since this is going in to ECMA, dust off your spelling checker. I found two typos just glancing through it (and others that Word green-underlined). Look for "underling" (instead of "underlying") and "Bt" (instead of "But").

Skip to main content