C#,在类的List中添加类的最简单方法是什么

时间:2015-01-27 10:18:45

标签: c# list class

我有多次记录一个类。我创建了List并创建了Statsand的对象,然后添加到我的列表中,但所有人都复制了最新的记录。这是我的代码

List<Account> account = accountDao.All().Where(a => a.Role ==
Role.Distributor && a.ParentAccount.Id==1&&a.Active).ToList();
ViewBag.Accounts = account;
List<Stats> statsforRegions = new List<Stats>();
foreach (Account dist in account)
{
    List<int> userIdss = new List<int>();
    List<int> accountIdss = new List<int>();
    Stats stt = new Stats();
    stt=stats;
    getUserIdsRecursive(dist, userIdss, accountIdss);
    stt = calculate(stt, userIdss, accountIdss);
    statsforRegions.Add(stt);

}
ViewBag.StatsForRegions = statsforRegions;

3 个答案:

答案 0 :(得分:1)

您正在创建新的Stats对象并将其分配给stt

Stats stt = new Stats();

然后您将另一个对象(stats)分配给stt,这意味着原始对象将被丢弃。

stt = stats.

您的代码未显示stats是什么,但我认为它是&#34;最近的记录&#34;你参考。

答案 1 :(得分:0)

以下是向List添加对象的基本示例

using System;
using System.Collections.Generic;

public class Program
{
    public static void Main()
    {
        List<MyObject> MyList = new List<MyObject>();

        for (int x = 1; x <= 10; x++)
        {
            MyObject obj = new MyObject();
            obj.Id = x;

            MyList.Add(obj);                       
        }

        //now show the list

        foreach(MyObject obj in MyList)
        {
            Console.WriteLine(obj.Id.ToString());
        }
    }
}

public class MyObject
{
    public int Id {get;set;}    
}

我也为你写了一个小提琴https://dotnetfiddle.net/cnNiI5

答案 2 :(得分:0)

我认为您的calculate函数返回相同的值并且

stats

没有变化。

    stt=stats;
    getUserIdsRecursive(dist, userIdss, accountIdss);
    stt = calculate(stt, userIdss, accountIdss);
相关问题