2

可能重复:
什么是“??” 运营商?

??这里的符号是什么意思?

我说得对吗:使用id,但如果id为空,则使用字符串“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)
            });
        }
4

3 回答 3

4

这就是空合并运算符。

var x = y ?? z;

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

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

即:如果是,将被x分配,否则将被分配。 因此,在您的示例中,如果它最初是.zynully
customerID"ALFKI"null

于 2010-10-07T03:34:22.070 回答
2

这是空合并运算符:http: //msdn.microsoft.com/en-us/library/ms173224 (VS.80).aspx

当第一个值(左侧)为空时,它提供一个值(右侧)。

于 2010-10-07T03:34:18.353 回答
1

它的意思是“如果id或是,假装它customerID是。null"ALFKI"

于 2010-10-07T03:33:59.830 回答