asp.ent mvc中看到方法参数中的? 和 ?? ,这个什么什么意思

比如:publicActionResultIndex(int?id){using(vardb=newMvcPagerSampleDataContext()){PagedL... 比如:
public ActionResult Index(int? id)
{
using (var db = new MvcPagerSampleDataContext())
{
PagedList<Order> orders = db.Orders.ToPagedList(id ?? 1, 20);
return View(orders);
}
}
这里的?和 ??是什么意思啊
展开
 我来答
重典技术闲话
2010-09-26 · TA获得超过2173个赞
知道大有可为答主
回答量:2593
采纳率:0%
帮助的人:1136万
展开全部
这并不是ASP.NET MVC中的语法,而是C#语法,C#3.0(2007年)中出现的可空类型,

int?等同于Nullable<int>
可空类型,参见 http://msdn.microsoft.com/zh-cn/library/b3h38hb0.aspx

它除了拥有正常int的功能外还可以存空值

??操作符意为非空则取值,否则则取
可见MSDN:http://msdn.microsoft.com/zh-cn/library/ms173224.aspx
int? x;
y=x??1;
等同于
if(x==null)
y=1;
else
y=x;
匿名用户
2010-09-26
展开全部
? 这个问号可能是你创建Lin to Sql的时候生成的表主键是自动增长,那个Lin to Sql类会把你主键用“?”标识。所以在方法里传参的时候要保持一致。要不然会报方法类型不一致。

?? 我的理解是类似于?:这个。就是三元运算符了。。

?? 1,20 如果是true的话,结果为1,反而言之false就是20咯。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式