希望我的最后一个问题有一段时间了。我有一个简单的类,它还包含一个 List 属性。
public class MyClass
{
public double myProperty1;
public double myProperty2;
public List<double> myList { get; private set; }
public MyClass()
{
myList = new List<double>();
}
}
在我的程序中,我创建了一个 MyClass 对象列表,并将其添加到另一个列表中
List<MyClass> nMyClassList = new List<MyClass>();
到目前为止一切正常。现在我有一个 for each 循环,我在其中遍历并更改 nMyClassList 中每个 MyClass 对象的一些属性
foreach (MyClass i in nMyClassList )
{
if x = y
i.myList.Add(y); // I think this is working fine
if something else
foreach (double a in i.mylist)
{
Print(a); // problem here
}
}
但是当我打印 a 时,我显然正在打印 List 中的所有双打,而不仅仅是与单个对象关联的那些,即使我的 foreach 仍然嵌套在第一个对象中。我在这里做错了什么吗?有任何想法吗。我想我正确地添加了值,也许它只是最后一个 foreach 的东西,我从整个 nMyClassList 打印所有 myList 双打?