? operator

Started by
1 comment, last by frazchaudhry 10 years, 3 months ago

Hello,

I am trying to understand the the XNA gamestate sample. Everything looks good except for one strange C# syntax that I have not seen before. It has to do with the ? operator. I am familiar with the conditional ? operator which can be used like this


(condition) ? statement if true : statement if false;

The code in the sample is


public PlayerIndex? ControllingPlayer
        {
            get { return controllingPlayer; }
            internal set { controllingPlayer = value; }
        }

        PlayerIndex? controllingPlayer;

where the PlayerIndex is an enum. The rest of the code also uses the PlayerIndex with a "?" at the end. What does the "?" operator do in this case?

Advertisement
That's the notation for a nullable type.

Thanks. In the code they do assign a null value to this variable, and I was wondering how they did that since the values allowed by the PlayerIndex are One, Two, Three, and Four. The link that you provided was very useful, much appreciated.

This topic is closed to new replies.

Advertisement