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

本文关键字:列表 保存 不能 为什么 | 更新日期: 2023-09-27 18:16:58

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


但是up代码只保存最新的类记录,意味着只保存VersionName=13 and Value=19,我怎么解决这个问题?

你必须像这样重新实例化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);

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

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

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