Как найти, если ItemID имеют другой ItemCode в списке или массиве? - PullRequest
0 голосов
/ 22 января 2019

Что мне нужно здесь, так это то, что я хочу знать, имеет ли этот ItemId другой ItemCode или нет, потому что в моем проекте только один ItemId может иметь один ItemCode, но расположение может отличаться настолько, насколько это возможно. Есть ли способ, которым я могу решить это?

Вот мой код:

Product[] products = { 
    new Product { ItemId= , 1001="apple", ItemCode=9, Location=store1 }, 
    new Product { ItemId= , 1001="apple", ItemCode=10, Location=store2 },
    new Product { ItemId= , 1002="apple", ItemCode=11, Location=store3 }, 
    new Product { ItemId= , 1002="apple", ItemCode=11, Location=store3 } 
};

1 Ответ

0 голосов
/ 22 января 2019

Чтобы собрать элементы и их действительность:

var itemsValidity = 
    products.GroupBy(p => p.ItemId).
             Select(g => new
             {
                 ItemId = g.Key,
                 IsValid = !g.GroupBy(item => item.ItemCode).Skip(1).Any()
             });

вернет коллекцию объектов с ItemId и флагом, указывающим, связан ли ItemId с более чем одним ItemCode.

Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...