linq – SingleOrDefault()在多个元素上引发异常
发布时间:2020-12-12 16:38:43 所属栏目:MsSql教程 来源:网络整理
导读:我得到这样的一个例外 Feature f = o.Features.SingleOrDefault(e = e.LinkName == PageLink); 因为这可以返回一个或多个元素.我可以用什么方法来解决这个问题? 解决方法 Single和SingleOrDefault设计为在序列中存在更多的一个匹配时抛出.这样做的结果是,在
我得到这样的一个例外
Feature f = o.Features.SingleOrDefault(e => e.LinkName == PageLink); 因为这可以返回一个或多个元素.我可以用什么方法来解决这个问题? 解决方法Single和SingleOrDefault设计为在序列中存在更多的一个匹配时抛出.这样做的结果是,在完成之前必须重复整个序列.这听起来不像你想要的那样.尝试使用FirstOrDefault:Feature f = o.Features .FirstOrDefault(e => e.vcr_LinkName == PageLink && e.bit_Activate == true); 这将(通常)表现更好,因为一旦找到匹配就完成. 当然,如果你真的要保留多个元素,那么一个Where子句会更合适: IEnumerable<Feature> fs = o.Features .Where(e => e.vcr_LinkName == PageLink && e.bit_Activate == true); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |