将项目添加到现有集合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
是A
和B
的总和,则最好使用计算字段:
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;
}
只需将属性设置为方程式