Я пытаюсь выяснить, как выполнить подвыбор с помощью Linq.У меня есть лист Excel с колонкой «дебет» и «кредит».Мне нужно отфильтровать все строки, которые имеют значение столбца дебетования (> 0,00), которое соответствует значению столбца кредита дальше вниз.Обе строки должны иметь одинаковый идентификатор плательщика.Вот что я придумал до сих пор:
public void balanceSheet()
{
foreach (Payment payment in this.payments)
{
// c[6] is the payers ID.
var debits = from c in this.test.WorksheetNoHeader()
where c[6] != "0" && c[13] != "0.00"
select c;
// Find any rows in the sheet that have the same payer id AND the debit
// amount from the query above in it's credit column.
foreach(LinqToExcel.RowNoHeader debit in debits)
{
var credits = from c in this.test.WorksheetNoHeader()
where c[6] == debit[6] && c[15] == debit[13]
select c;
// Do something awesome if it finds something.
}
}
}
Я надеюсь, что есть более элегантное решение для выбора строк Excel по критериям, указанным выше, а не для их циклического просмотра каждый раз.Я не думаю, что использую LINQ, чтобы использовать его в полной мере.Есть идеи?