将项目添加到现有集合C#

本文关键字:集合 项目 添加 | 更新日期: 2023-09-27 18:15:27

我有集合:

    public class Test
    {
        public double Index { set; get; }
        public double A { set; get; }
        public double B { set; get; }
        public double C { set; get; }
    }
    List<Test> test = new List<Test>();

我用一些随机数填了A和B。之后,我想在集合中添加项目C。例如,我尝试的:

        foreach (Test t in test)
        {
            c = t.A + t.B;
            test.Add(new Test {C = c }); <------ 
        }

如何将元素C添加到与A和B相同的位置?(对不起我的英语(

将项目添加到现有集合C#

如果您希望CAB的总和,则最好使用计算字段:

public class Test
{
    public double Index { set; get; }
    public double A { set; get; }
    public double B { set; get; }
    public double C 
    { 
       get
       {
            return A + B;
       } 
    }
}

所以

Test test = new Test()
{
   A = 1;
   B = 2;
};
test.C == 3; //true

上述方法的优点是C总是其他值的总和,不需要每次都重新计算。所以,如果我采取以上行动:

test.B = 3; //instead of the original 2

然后C保持同步:

test.C == 3; //false
test.C == 4; //now true

使用原始方法(或其他答案(进行此操作意味着重新循环结果集。

或者在C#6.0中,您可以使用表达式体属性

public class Test
{
    public double Index { set; get; }
    public double A { set; get; }
    public double B { set; get; }
    public double C =>  A + B;
}
foreach (Test t in test)
{
    t.C = t.A + t.B;
} 

只需将属性设置为方程式