C# 从具有相同代码的列表中选择

C# 从具有相同代码的列表中选择,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,我在获取下面的值时遇到问题。 我有一个名为Retailers的表,其中包含Id、描述、语言和代码 我在应用程序中声明了一个包含所有零售商列表的列表 var retailers = new List<Retailer>(); 非常感谢您的帮助 试试这个解决方案: var retailerWithSameUacode = retailers .Where(item => item.LanguageId != null && item.Code == ret

我在获取下面的值时遇到问题。 我有一个名为Retailers的表,其中包含Id、描述、语言和代码 我在应用程序中声明了一个包含所有零售商列表的列表

var retailers = new List<Retailer>();
非常感谢您的帮助

试试这个解决方案:

var retailerWithSameUacode = retailers
    .Where(item => item.LanguageId != null && item.Code == retailerCode)
    .ToList();
foreach (var item in retailerWithSameUacode) 
{
    // Do something
}
尝试以下解决方案:

var retailerWithSameUacode = retailers
    .Where(item => item.LanguageId != null && item.Code == retailerCode)
    .ToList();
foreach (var item in retailerWithSameUacode) 
{
    // Do something
}

我不认为我完全理解您的问题,但从您的代码注释和您选择具有相同代码的零售商的尝试来看,我向您展示了以下内容

要使用与当前零售商匹配的代码从列表中删除第一个零售商,您需要执行以下操作:

Retailer retailerWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).FirstOrDefault();
List<Retailer> retailersWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).ToList();
然后可以检查retailerWithMatchingCode对象的空值。如果您只想知道是否存在具有匹配代码的零售商,请执行以下操作:

if (retailers.Any(r => r.Code == retailer.Code))
//Do something..
要获取具有匹配代码属性值的零售商列表,您需要执行以下操作:

Retailer retailerWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).FirstOrDefault();
List<Retailer> retailersWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).ToList();

请注意,此代码未经测试。

我不认为我完全理解您的问题,但从您的代码注释和您选择具有相同代码的零售商的尝试来看,我向您展示了以下内容

要使用与当前零售商匹配的代码从列表中删除第一个零售商,您需要执行以下操作:

Retailer retailerWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).FirstOrDefault();
List<Retailer> retailersWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).ToList();
然后可以检查retailerWithMatchingCode对象的空值。如果您只想知道是否存在具有匹配代码的零售商,请执行以下操作:

if (retailers.Any(r => r.Code == retailer.Code))
//Do something..
要获取具有匹配代码属性值的零售商列表,您需要执行以下操作:

Retailer retailerWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).FirstOrDefault();
List<Retailer> retailersWithMatchingCode = retailers.Where(r => r.Code == retailer.Code).ToList();

请注意,此代码未经测试。

您需要@Grantwiney我的意图是如果我找到一个具有相同代码的零售商,那么我需要关联这两个零售商的结果。您需要@Grantwiney我的意图是如果我找到一个具有相同代码的零售商,那么我需要关联这两个零售商的结果。哪里是多余的:零售商retailerWithMatchingCode=retailers.where=>r.Code==retailer.Code.FirstOrDefault;只需使用:Retailer retailerWithMatchingCode=retailers.FirstOrDefaultr=>r.Code==Retailer.Code@Jibberish,你是绝对正确的,我对这种冗余感到内疚的次数比我愿意承认的要多——我只是觉得出于某种原因,它更具可读性。冗余的位置是:Retailer retailerWithMatchingCode=retailers.Where=>r.Code==Retailer.Code.FirstOrDefault;只需使用:Retailer retailerWithMatchingCode=retailers.FirstOrDefaultr=>r.Code==Retailer.Code@Jibberish,你是绝对正确的,我对这种冗余感到内疚的次数比我愿意承认的要多——我只是觉得出于某种原因,它更具可读性。