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);
}
}
这里的?和 ??是什么意思啊 展开
public ActionResult Index(int? id)
{
using (var db = new MvcPagerSampleDataContext())
{
PagedList<Order> orders = db.Orders.ToPagedList(id ?? 1, 20);
return View(orders);
}
}
这里的?和 ??是什么意思啊 展开
2个回答
展开全部
这并不是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;
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咯。
?? 我的理解是类似于?:这个。就是三元运算符了。。
?? 1,20 如果是true的话,结果为1,反而言之false就是20咯。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询