Ich versuche, Daten für ein Diagramm mit LINQ vorzubereiten.Berechnen Sie den Unterschied zum vorherigen Element mit LINQ
Das Problem, das ich lösen kann nicht ist, wie die „Differenz zum vorherigen
das Ergebnis I ist
ID erwarten berechnen = 1, Date = Nun DiffToPrev = 0;.
ID = 1, Date = Now + 1, DiffToPrev = 3;
ID = 1, Date = Now + 2, DiffToPrev = 7;
ID = 1, Date = Now + 3, DiffToPrev = -6;
etc ...
Können Sie mir helfen, eine solche Abfrage zu erstellen?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public class MyObject
{
public int ID { get; set; }
public DateTime Date { get; set; }
public int Value { get; set; }
}
class Program
{
static void Main()
{
var list = new List<MyObject>
{
new MyObject {ID= 1,Date = DateTime.Now,Value = 5},
new MyObject {ID= 1,Date = DateTime.Now.AddDays(1),Value = 8},
new MyObject {ID= 1,Date = DateTime.Now.AddDays(2),Value = 15},
new MyObject {ID= 1,Date = DateTime.Now.AddDays(3),Value = 9},
new MyObject {ID= 1,Date = DateTime.Now.AddDays(4),Value = 12},
new MyObject {ID= 1,Date = DateTime.Now.AddDays(5),Value = 25},
new MyObject {ID= 2,Date = DateTime.Now,Value = 10},
new MyObject {ID= 2,Date = DateTime.Now.AddDays(1),Value = 7},
new MyObject {ID= 2,Date = DateTime.Now.AddDays(2),Value = 19},
new MyObject {ID= 2,Date = DateTime.Now.AddDays(3),Value = 12},
new MyObject {ID= 2,Date = DateTime.Now.AddDays(4),Value = 15},
new MyObject {ID= 2,Date = DateTime.Now.AddDays(5),Value = 18}
};
Console.WriteLine(list);
Console.ReadLine();
}
}
}
Dies scheint eine richtige Antwort, aber ich kann Figur, wie man benutze es. – Marty
Ich denke, dieser wäre effizienter als Branimirs Antwort, oder? – Marty
@Martynas: Es ist allgemeiner als Branimirs Antwort und effizienter als Felix. –