为什么我不能在c#list中保存列表?

时间:2016-11-08 09:52:24

标签: c#

我是c#的新人,写下这门课:

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

    }


并使用这个:

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);


但是代码只保存最新的类记录,意味着只保存VersionName=13 and Value=19,我该如何解决这个问题?谢谢。

2 个答案:

答案 0 :(得分:3)

您必须像这样重新实例化summary变量:

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);

答案 1 :(得分:2)

另一个答案中描述的问题是您将同一个对象多次添加到列表中,因此您需要单独一个。您可以这样做,或者根本不使用显式变量,因为C#允许初始化器。它将是几乎相同的逻辑,但更加美观和可读。

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