После вашего последнего комментария начинает понимать, что вы спрашиваете.У вас есть данные о товарах, цены на которые могут быть одинаковыми.Вы хотите знать продукты, имеющие самую высокую цену.
Таким образом, группировка по цене является возможным подходом.Для этого вам нужна группа с наивысшей клавишей:
var products = new DataTable();
products.Columns.Add("ProductId", typeof(string));
products.Columns.Add("Name", typeof(string));
products.Columns.Add("Price", typeof(int));
int j = 0;
for (int i = 0; i < 30; i++)
{
j++;
products.Rows.Add(new object[] { i + 1, $"Prod{i:00}", i/10 + 1 });
}
var result = products.AsEnumerable().GroupBy(r => r.Field<int>("Price"))
.OrderByDescending(g => g.Key)
.Take(1);
, которая дает вам (в Linqpad):
из трех групп с ценами 1, 2 и 3.