2016-11-08 1 views
-1

Ich bin neu in c# und schreiben diese Klasse:
Warum kann ich die Liste in der C# -Liste nicht speichern?

public class MANAGER 
    { 
     public string VersionName { get; set; } 
     public Double Value { get; set; } 

    } 


und verwenden diese:

List<MANAGER> lstSummary = new List<MANAGER>(); 
MANAGER summary = new MANAGER(); 
summary.VersionName = "12"; 
summary.Value =12; 
lstSummary.Add(summary); 
summary.VersionName = "13"; 
summary.Value = 19; 
lstSummary.Add(summary); 


aber up-Code nur neueste Klasse Datensatz speichern, bedeutet speichern nur VersionName=13 and Value=19 , Wie kann ich dieses Problem lösen? Danke.

Antwort

3

Sie müssen erneut instanziiert die summary Variable wie so:

MANAGER summary = new MANAGER(); 
summary.VersionName = "12"; 
summary.Value =12; 
lstSummary.Add(summary); 

summary = new MANAGER(); // <-- add this 
summary.VersionName = "13"; 
summary.Value = 19; 
lstSummary.Add(summary); 
+0

nach 5 Minuten akzeptieren Sie Ihre Antwort, danke für Hilfe –

2

Das Problem, wie in einer anderen Antwort beschrieben ist, dass Sie das gleiche Objekt in die Liste mehrmals hinzufügen, so dass Sie einen separaten haben müssen ein. Sie können es auf diese Weise tun oder die Variable nicht explizit verwenden, da C# Initialisierer erlaubt. Es wird fast die gleiche Logik sein, aber ein bisschen schöner und lesbarer.

var lstSummary = new List<MANAGER> 
{ 
    new Manager 
    { 
     VersionName = "12", 
     Value = 12 
    }, 
    new Manager 
    { 
     VersionName = "13", 
     Value = 19 
    } 
} 
Verwandte Themen