Учитывая следующую структуру классов, необходимо извлечь различные элементы на основе значения настраиваемого свойства:
class Item{
public Item(int position, Image image)
{
Position = position;
Image = image;
}
public int Position { get; set; }
public Image Image { get; set; }
public int Quality { get; set; }
}
class Items : List<Item> {}
class ConsolidatedItems : List<Items> {}
Как получить список «лучших» Items на основе Качество , к которому присоединяется Позиция (другими словами сгруппировать элементы, где позиция одинакова):
Ввод
Items1:
Item1: 1, ImageBinary, 100
Item2: 2, ImageBinary, 98
Item3: 3, ImageBinary, 45
Item4: 4, ImageBinary, 66
Items2:
Item1: 1, ImageBinary, 76
Item2: 2, ImageBinary, 80
Item4: 4, ImageBinary, 33
Items3:
Item1: 2, ImageBinary, 76
Item2: 3, ImageBinary, 80
Item4: 4, ImageBinary, 90
Выход
BestItems:
Item1: 1, ImageBinary, 100 (from Items1)
Item2: 2, ImageBinary, 98 (from Items1)
Item3: 3, ImageBinary, 80 (from Items3)
Item4: 4, ImageBinary, 90 (from Items4)