首页 > 解决方案 > routes.MapRoute 语法

问题描述

这是 mvc 中 routes.MapRoute 函数的语法。

  routes.MapRoute(
     { controller = "Home", action = "HomePage" }
  );  

但不是双引号 "" 内的简单字符串的第一个参数,它有一个前缀 { name : } 不在引号中。
我以前从未见过。有人可以解释一下这是如何工作的。

标签: c#asp.net-mvcsyntax

解决方案


您所描述的内容称为Named Arguments,是在 C# 4.0 中引入的。

命名参数使您无需记住或在被调用方法的参数列表中查找参数的顺序。每个参数的参数可以由参数名称指定。例如,打印订单详细信息(例如,卖家名称、订单号和产品名称)的函数可以通过按位置发送参数以函数定义的顺序以标准方式调用。

PrintOrderDetails("Gift Shop", 31, "Red Mug");

如果您不记得参数的顺序但知道它们的名称,您可以按任何顺序发送参数。

PrintOrderDetails(orderNum: 31, productName: "Red Mug", sellerName: "Gift Shop");

PrintOrderDetails(productName: "Red Mug", sellerName: "Gift Shop", orderNum: 31);

推荐阅读