0

希望我的最后一个问题有一段时间了。我有一个简单的类,它还包含一个 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 双打?

4

1 回答 1

0

这里缺少一个等号:

if x = y

此代码将 y 的值分配给 x 并返回 true(此 if 块将始终被执行)

应该

if x == y
于 2012-11-06T01:18:29.673 回答