如果FirstOrDefault返回null,则返回列表中的第一项String参数,获取该项目的具体productId。但是,我可能并不总是将产品ID传递给我。如果我没有产品ID,我需要默认为列表中的第一个产品。目前我有:@Model.Products.FirstOrDefault(x=>x.Id==productId);这只会选择具有该特定ID的产品,如果没有,则默认为null。有没有办法实现我想要的?这听起来像你想要的:varproduct=productId==null?Model.Products.FirstOrDefault():Model.Products.FirstOrDefault(x=>x.Id==productId);...@product或者你的意思:@(Model.Products.FirstOrDefault(x=>x.Id==productId)??Model.Products.FirstOrDefault())如果你尝试这样的事情会发生什么?@if(productId!=null)//假设它可以为空{@Model.Products.FirstOrDefault(x=>x.Id==productId)}else{@Model.Products.FirstOrDefault()}我知道这看起来有点麻烦,但是很清楚它在做什么(想想是否需要其他人维护它)并且它应该可以工作。但实际上我可能更愿意在ViewModel中设置它,然后只访问我知道正确的值。嘿检查这可能对你有帮助MSDN链接:http://msdn.microsoft.com/en-us/library/bb340482.aspx以上是C#学习教程:如果FirstOrDefault返回null,返回列表中的第一个如果是对你有用,需要了解更多C#学习教程,希望大家多多关注——Listmonths=newList{};//查询后设置默认值为1。intfirstMonth1=months.FirstOrDefault();如果(firstMonth1==0){firstMonth1=1;}Console.WriteLine("firstMonth1变量的值为{0}",firstMonth1);//在查询中使用DefaultIfEmpty()将默认值设置为1。intfirstMonth2=months.DefaultIfEmpty(1).First();Console.WriteLine("firstMonth2变量的值为{0}",firstMonth2);/*这段代码产生如下输出:firstMonth1变量的值为1firstMonth2变量的值为1*/本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
