What do two question marks together mean in C#?

前端 未结 18 1133
借酒劲吻你
借酒劲吻你 2020-11-22 03:41

Ran across this line of code:

FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();

What do the two question marks mean, is it some ki

18条回答
  •  [愿得一人]
    2020-11-22 04:08

    It's short hand for the ternary operator.

    FormsAuth = (formsAuth != null) ? formsAuth : new FormsAuthenticationWrapper();
    

    Or for those who don't do ternary:

    if (formsAuth != null)
    {
      FormsAuth = formsAuth;
    }
    else
    {
      FormsAuth = new FormsAuthenticationWrapper();
    }
    

提交回复
热议问题