Domanda

  

Eventuali duplicati:
   Qual è il “??” operatore per?

Che cosa significa la notazione ?? significa qui?

ho ragione nel dire:? Utilizzare id, ma se id è l'uso nullo stringa "ALFKI"

public ActionResult SelectionClientSide(string id)
        {
            ViewData["Customers"] = GetCustomers();
            ViewData["Orders"] = GetOrdersForCustomer(id ?? "ALFKI");
            ViewData["id"] = "ALFKI";
            return View();
        }
        [GridAction]
        public ActionResult _SelectionClientSide_Orders(string customerID)
        {
            customerID = customerID ?? "ALFKI";
            return View(new GridModel<Order>
            {
                Data = GetOrdersForCustomer(customerID)
            });
        }
È stato utile?

Soluzione

Questo è l'operatore null coalescenza.

var x = y ?? z;

// is equivalent to:
var x = (y == null) ? z : y;

// also equivalent to:
if (y == null) 
{
    x = z;
}
else
{
    x = y;
}

vale a dire:. x verrà assegnato z se y è null, y altrimenti sarà assegnato
Quindi nel tuo esempio, customerID verrà impostato a "ALFKI" se era originariamente null.

Altri suggerimenti

E 'l'operatore nulla coalescenza: http://msdn.microsoft.com/en-us/ biblioteca / ms173224 (VS.80) aspx

Si fornisce un valore (lato destro) quando il primo valore (lato sinistro) è nullo.

Significa "se id o customerID è null, finta che sia "ALFKI" invece.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top