希望我的最后一个问题有一段时间了。我有一个简单的类,它还包含一个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循环,在那里我通过并更改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
}
}
但是当我打印出来时,我显然正在打印列表中的所有双打,而不仅仅是与单个对象关联的双打,即使我的foreach仍嵌套在第一个对象中。我在这里做错了吗?有任何想法吗。我想我正在正确地添加这些值,也许它只是我最后一个foreach从整个nMyClassList中打印所有myList双精度的东西?
答案 0 :(得分:0)
这里有一个缺少的等号:
if x = y
此代码将y的值赋给x并返回true(如果将始终执行块,则返回此值)
应该是
if x == y