Почему LINQ ищет только то что указано в одном блоке if а всё остальное нет
Приветсвую! Проблема с LINQ! Не понимаю почему он ищет только минимальный элемент а максимальный искать отказывается(это проявляется в том что таблица dataGridView не изменяеться
Вот код
private void LINQSearchButton_Click(object sender, EventArgs e)
{
// Этот блок почему то не работает хотя должен был
if(comboBox1.Text == "Самый дорогой товар")
{
var query = Products.OrderBy(x=>x.Price);
var max = query.Last();
bindingSource.DataSource = max;
dataGridView.DataSource = bindingSource;
}
// Этот блок на удивление работает
if(comboBox1.Text == "Самый дешёвый товар")
{
var query = Products.OrderBy(x=>x.Price);
var min = query.First();
bindingSource.DataSource = min;
dataGridView.DataSource = bindingSource;
}
// Всё остальное конечно же не работает
}
Помимо этого конструктор класса товар Product имеет 4 параметра
Это название, цена, каллорийность и тип товара(бургер и такое прочее)
Класс имеет следущее описание:
public class Product
{
public string Name {get; set;}
public double Price {get; set;}
public int Kcal {get; set;}
public string Type {get; set;}
public Product(string name, double price, int kcal, string type)
{
Name = name;
Price = price;
Kcal = kcal;
Type = type;
}
}
public List<Product> Products;
Конструктор формы имеет следующий вид:
public Form1()
{
InitializeComponent();
Products = new List<Product>()
{
new Product(//.....),
//.......
};
bindingSource.DataSource = Products;
dataGridView.DataSource = bindingSource;
}
Но вот только в dataGridView колонка с названием "Тип" пуста почему то(это ещё одна проблема которую я не знаю как исправить)
Спасибо большое :)