2

重複の可能性:
「??」とは の演算子?

ここでの??表記はどういう意味ですか?

私が言っていることは正しいですか: を使用idしますが、null の場合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が割り当てられるz場合yは割り当てられnull、そうでない場合は割り当てられyます。
したがって、あなたの例では、元々だった場合にcustomerID設定されます。"ALFKI"null

于 2010-10-07T03:34:22.070 に答える
2

null 合体演算子です: http://msdn.microsoft.com/en-us/library/ms173224(VS.80).aspx

最初の値 (左側) が null の場合、値 (右側) を提供します。

于 2010-10-07T03:34:18.353 に答える
1

それは「またはがである場合id、代わりにそうでcustomerIDあるnullふりをする."ALFKI"

于 2010-10-07T03:33:59.830 に答える