Ich glaube, das ist sehr ähnlich zu this, aber ich brauche dies auf der Grundlage gleicher Indizes.Aktualisieren einer Liste aus einer anderen Liste basierend auf Index (Zeilennummer)
Ich habe eine Liste wie folgt aus:
Time | Temp1 | Temp2 | Type
10:42:00 | 108 | 150 | Unkwon
10:44:00 | 107 | 160 | Test
10:46:00 | 108 | 130 | Test22
Ich habe eine andere wie folgt aus:
ID | Type
40 | New1
80 | New2
100 | Test22
Ich habe kein Feld beide Listen zu vergleichen haben. Aus diesem Grund möchte ich den Index (Zeilennummer) der Liste und <> Typ verwenden.
So
Zeile 1 und 2 sollten aktualisiert werden, da sie unterschiedliche Art präsentieren.
Erwartetes Ergebnis:
Time | Temp1 | Temp2 | Type
10:42:00 | 108 | 150 | New1
10:44:00 | 107 | 160 | New2
10:46:00 | 108 | 130 | Test22
Was habe ich:
foreach (var x in Graph._listData)
{
var itemToChange = newData2
.First(d =>
d[newData2.IndexOf(1)] == Graph._listData.IndexOf(1)).Type = x.Type;
}
Ich glaube, dass die ganze Idee von diesem Code falsch ist, aber es, was ich an dieser bekam Punkt.
Die Struktur meiner Tabellen:
public struct GraphData
{
public double Temp1;
public double Temp2;
public DateTime Date;
public string Type;
}
public struct GraphDataWithID
{
public int IdHeader;
public string Type;
}
- Also, wie Sie erreichen ich den Vergleich zwischen zwei auf dem Index basiert Listen?
Sie können einfach eine 'for' -Schleife verwenden, wenn dies eine' Liste' oder ein Array ist. Oder Sie können 'Enumerable.Zip' verwenden – juharr