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
    }      
}

しかし、私が印刷すると、foreachがまだ最初のオブジェクトにネストされていても、単一のオブジェクトに関連付けられているものだけでなく、List内のすべてのdoubleを印刷しているようです。私はここで何か完全に間違っていますか?何か案は。値を正しく追加していると思います。おそらく、最後の foreach で、 nMyClassList 全体からすべての myList double を出力しているだけですか?

4

1 に答える 1

0

ここに等号がありません:

if x = y

このコードは、y の値を x に代入し、true を返します (この if ブロックは常に実行されます)。

する必要があります

if x == y
于 2012-11-06T01:18:29.673 に答える