Ich habe diese Art:Warum ist die Eigenschaft des Objekts null, nachdem ich den Wert festgelegt habe?
public partial class ReportTrafficDepartment
{
public int _id;
public System.Nullable<int> _siteNum;
public System.Nullable<System.DateTime> _dateReport;
public string _siteName;
public System.Nullable<int> _prog1;
public System.Nullable<int> _progLayout1;
public System.Nullable<int> _prog2;
}
Und diese Funktion:
private void setDate(IEnumerable<ReportTrafficDepartment> report, int year, int month)
{
report.Select(r => r.dateReport = new System.DateTime(year, month, 1));
}
Wie Sie kann ich sehen, versuchen, durch Sammlung der ReportTrafficDepartment Objekte iterieren und dateReport Eigenschaft festgelegt.
, aber nachdem die Methode ausgeführt wurde, ist die Eigenschaft aller ReportTrafficDepartment-Objekte null.
Alles was ich falsch mache Warum ist das Eigentum aller ReportTrafficDepartment Objets null?
Sie haben einen Tippfehler, 'dateReport' existiert nicht in 'ReportTrafficDepartment',' _dateReport 'tut dies. Darüber hinaus besteht die Auswahl darin, die Quelldaten in eine andere zu projizieren, so dass Sie die Quellelemente nicht beeinflussen. – dcg
Tun Sie dies nicht, Linq zu verwenden, um Nebenwirkungen zu erzielen, ist normalerweise eine sehr schlechte Idee. Dein Problem ist, dass linq * faul ist *, du wiederholst die Projektion nicht, so dass die Zuweisung niemals stattfindet. – InBetween
@InBetween sollte ich foreach verwenden? – Michael