Получить предыдущую запись в текущий список для расчетаC#

Место общения программистов C#
Ответить
Anonymous
 Получить предыдущую запись в текущий список для расчета

Сообщение Anonymous »

Цель:

Получить предыдущую запись в текущий список для расчета с использованием linq < /p>
Результат: < /p>
Date | EatenFoodInKg | CompareToFoodFromYesterday
2000-01-11 10 9 (10-1)
2000-01-10 1 -5 (1-6)
2000-01-09 6 4 (6-2)
2000-01-05 2 -2 (2-4)
2000-01-03 4 1 (4-3)
2000-01-02 3 2 (3-1)
2000-01-01 1
< /code>
Проблема:
может ли это сделать это в LINQ? Я попытался, но я потерпел неудачу, нуждается в поддержке SOM < /p>
Информация:

*Это не работает, чтобы объединить два одинаковых списка в одиночку, потому что это те же данные, может быть, другое решение? < /P>
код: < /p>
public class Person
{
public string LastName { get; set; }
public string FirstName { get; set; }
public int EatenFoodInKg { get; set; }
public int CompareToFoodFromYesterday { get; set; }
public DateTime Date { get; set; }
}

var list1 = new List()
{
new Person()
{
LastName = "Charlotte",
FirstName = "SS",
EatenFoodInKg = 10,
Date = new DateTime(2000, 01, 11)
},
new Person()
{
LastName = "Charlotte",
FirstName = "SS",
EatenFoodInKg = 1,
Date = new DateTime(2000, 01, 10)
},
new Person()
{
LastName = "Charlotte",
FirstName = "SS",
EatenFoodInKg = 6,
Date = new DateTime(2000, 01, 09)
},
new Person()
{
LastName = "Charlotte",
FirstName = "SS",
EatenFoodInKg = 2,
Date = new DateTime(2000, 01, 06)
},
new Person()
{
LastName = "Charlotte",
FirstName = "SS",
EatenFoodInKg = 2,
Date = new DateTime(2000, 01, 05)
},
new Person()
{
LastName = "Charlotte",
FirstName = "SS",
EatenFoodInKg = 4,
Date = new DateTime(2000, 01, 03)
},
new Person()
{
LastName = "Charlotte",
FirstName = "SS",
EatenFoodInKg = 3,
Date = new DateTime(2000, 01, 02)
},
new Person()
{
LastName = "Charlotte",
FirstName = "SS",
EatenFoodInKg = 1,
Date = new DateTime(2000, 01, 01)
}
};


Подробнее здесь: https://stackoverflow.com/questions/797 ... alculation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»