Haben Sie eine Liste von Objekten mit der Objektstruktur wie folgtaktualisieren in Objektsammlung mit Linq
public class Schedule
{
public int ID { get; set; }
public string Name { get; set; }
public Schedule() {}
}
eine Linq-Abfrage auf Daten Ausführen ich später richtig bevölkerten Liste der Objekte
var schedule = (from d in data
select new Schedule
{
ID = d.id,
Name = ""
}).ToList();
sehen im Code möchte ich Eigenschaft ändern Name hängt von einer Bedingung ab. Ein paar Beispiele, die ich gefunden
schedule.ForEach(s => { s.Name = "Condition Name"; });
schedule.Select(s => { s.Name = "Condition name"; return s; });
nach der Ausführung lassen Name Parameter "null", wenn ich Zeitplan im Überwachungsfenster aktualisieren. Kann jemand sehen, was mit diesem falsch ist?
durch Sammlung Looping und versuchen, Eigentum zu ändern, ist es auch nicht ändern
foreach (var sch in schedule)
{
sch.Name = "New name";
}
schedule.ToList() [0] .Name == ""
UPDATE
.ToList() Aufruf in das folgende Snippet ist wichtig, um Code zu arbeiten.
var schedule = (from d in data
select new Schedule
{
ID = d.id,
Name = ""
}).ToList();
Um zu beginnen, Sie ein ausgewähltes Neues zu machen und nur die ID –
@MrJones verpasstes Abrufen in Code aber ich wähle Sie im Objekt – Maxim
Ja, aber Sie sind nur die ID-Eigenschaft festlegen. Sie sollten etwas wie '(von d in Daten wählen Sie neuen Zeitplan {ID = d.ID, Name = d.Name}). ToList()'. Sonst ist 'sehdule.Name' gleich null. –