Мой второй результат - список номеров счетов и дат, которые я добавил из другого списка с помощью LINQ для сортировки. Список результатов два содержит много повторяющихся номеров счетов, но я хотел бы отфильтровать список, чтобы удалить дубликаты, а не просто выбрать первый экземпляр.
Я ищу, чтобы выбрать номер счета с самой старой датой. Я получаю вывод от потокового считывателя, но он не ведет себя, как ожидалось. Я все еще получаю каждую строку и никаких удалений.
Я пытаюсь сравнить, совпадает ли номер счета с номером счета из предыдущей строки, а текущая дата старше, чтобы удалить экземпляр номера счета с более новой датой.
Любой идеи?
foreach (var valueTwo in resultTwo)
{
var valueString = valueTwo.Name.ToString();
var currentAccount = valueString.Substring(0, valueString.IndexOf('\t'));
var currentDateTwo = (valueString.Substring((valueString.IndexOf('\t') + 1), 10).Replace("/", ""));
int currentDate = Convert.ToInt32(currentDateTwo);
var prevAccount = "";
int prevDate = 0;
if (currentAccount != prevAccount)
{
forecastTestList.Add(currentAccount + '\t' + currentDate);
}
if (currentAccount == prevAccount)
{
if (currentDate > prevDate)
{
forecastTestList.Remove(prevAccount + '\t' + prevDate);
forecastTestList.Add(currentAccount + '\t' + currentDate);
}
}
prevAccount = currentAccount;
prevDate = currentDate;
//srcheckForecast.WriteLine(valueTwo.Name);
}
foreach (var valueThree in forecastTestList)
{
srcheckForecast.WriteLine(valueThree);
}
}