我在获取以下值时遇到问题。 我有一个名为零售商的表,其中包含Id,描述,语言和代码 我在我的应用程序中声明了一个列表,其中包含所有零售商列表
var retailers = new List<Retailer>();
现在我需要添加具有相同代码的两个零售商的结果,所以我想在下面做,我确信我做错了。
foreach (var retailer in retailers)
{
if (retailer.LanguageId != null)
{
// Here I am trying to findout if there are any other retailers who
// has same code if true then I need entire row of that retailer
**var retailerWithSameUacode = !retailers.Select(item => item.Code == retailerCode).SingleOrDefault();**
if (retailerWithSameUacode != null)
{
// Do something
}
}
}
非常感谢任何帮助!
答案 0 :(得分:2)
试试这个解决方案:
var retailerWithSameUacode = retailers
.Where(item => item.LanguageId != null && item.Code == retailerCode)
.ToList();
foreach (var item in retailerWithSameUacode)
{
// Do something
}
答案 1 :(得分:2)
我不认为我完全理解您的问题,但是从您的代码评论和您尝试选择具有相同代码的零售商,我向您呈现以下内容..
要使用与当前零售商匹配的代码将第一个零售商从列表中删除,您需要执行以下操作:
Retailer retailerWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).FirstOrDefault();
然后,您可以检查retailerWithMatchingCode对象是否为空值。如果您只想知道是否存在具有匹配代码的零售商,您可以这样做:
if (retailers.Any(r => r.Code == retailer.Code))
//Do something..
要获取具有匹配“代码”属性值的零售商列表,您需要执行以下操作:
List<Retailer> retailersWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).ToList();
请注意,此代码未经测试。