У меня есть 3 столбца, Stock, Price и Saved, которые поступают из БД. Мы храним цены ежедневно независимо от изменения цены, и я пытаюсь извлечь последнюю дату, когда цена изменилась.
Что я пробовал:
Использование цикла foreach дляитерации по инв и сопоставить цены, но я заблудился где-то вдоль линии.
Используя LINQ, я получаю дату последнего обновления базы данных, а не последнее обновление цены.
Дублирование списка исравнивая arr [0] с arr2 [1], когда числа не совпадают с датой печати.
Код:
namespace StackOverFlowQ2
{
class Program
{
public class Data
{
public List<Inventory> myInv { get; set; }
}
public class Inventory
{
public string stock { get; set; }
public string price { get; set; }
public string saved { get; set; }
}
static void Main(string[] args)
{
var inv = new List<Inventory>
{
new Inventory
{
stock = "Apple", price = "31", saved = "8/10/2019 12:01:01 AM"
},
new Inventory
{
stock = "Apple", price = "31", saved = "8/9/2019 12:01:01 AM"
},
new Inventory
{
stock = "Apple", price = "31", saved = "8/8/2019 12:01:01 AM"
},
new Inventory
{
stock = "Apple", price = "31", saved = "8/7/2019 12:01:01 AM"
},
new Inventory
{
stock = "Apple", price = "28", saved = "8/6/2019 12:01:01 AM"
},
new Inventory
{
stock = "Apple", price = "28", saved = "8/5/2019 12:01:01 AM"
},
new Inventory
{
stock = "Apple", price = "28", saved = "8/4/2019 12:01:01 AM"
}
};
#region Solution
//Iterate through the List
for (int i = 0; i < inv.Count - 1; i++)
{
//Compare current index to next index
if (inv[i].price != inv[i + 1].price)
{
//Print results
Console.WriteLine(inv[i].saved);
break;
}
}
#endregion
}
}
}
Токовый выход: 8/10/2019 12:01:01 AM
Ожидаемый результат: 8/7/2019 12:01:01 AM