c#列表。添加复杂性

c#列表。添加复杂性,c#,winforms,visual-studio-2010,C#,Winforms,Visual Studio 2010,我有一个类MyClass(),在这个类中,我从另一个第二个类()调用方法,它是在foreach循环中完成的。在这个方法中,我有一个列表,我把一些数据放在其中。但每次调用此方法时,我的列表从一开始就被填充。我丢失了以前插入的所有数据。我如何解决这个问题 foreach(string items in description) { SecondClass method = new SecondClass(); method.DoThis(items); } 使用此方法的MyClas

我有一个类MyClass(),在这个类中,我从另一个第二个类()调用方法,它是在foreach循环中完成的。在这个方法中,我有一个列表,我把一些数据放在其中。但每次调用此方法时,我的列表从一开始就被填充。我丢失了以前插入的所有数据。我如何解决这个问题

foreach(string items in description)
{
    SecondClass method = new SecondClass();
    method.DoThis(items);
}
使用此方法的MyClass()如下所示

public void DoThis(string items)
{
    List<MyClass> list2 = new List<MyClass>();
    if(//somethis)
    {
         /// some more code
         list2.Add(sk);
    }
}
public void DoThis(字符串项)
{
List list2=新列表();
if(//somethis)
{
///还有代码吗
清单2.添加(sk);
}
}
我编辑了代码,有一些错误。抱歉

请尝试以下代码:

它应该将您的列表存储为类中的字段。当您在DoThis中初始化list2时,每次调用都会生成新的空list2

public class MyClass
{
    List<SrodkowaKolumna> list2;
    public MyClass()
    {
         list2 = new List<SrodkowaKolumna>();
    }
    //.... other code

    public void DoThis(string items)
    {  
       for(//somethis)
       {
         /// some more code
                list2.Add(sk);
       }
     }
}
公共类MyClass
{
清单2;
公共MyClass()
{
list2=新列表();
}
//……其他代码
公共void DoThis(字符串项)
{  
对于(//somethis)
{
///还有代码吗
清单2.添加(sk);
}
}
}

您正在初始化
列表2
内的
点此
的范围。 您必须将其声明为
MyClass
的成员,如下所示:

class MyClass
{
      //if MyClass is sealed or static, then change protected to private.
      //if you need to access it from outside MyClass, change it to public.
      protected List<SrodkowaKolumna> list2 = new List<SrodkowaKolumna>();

      public void DoThis(string items)
      {
           if(//somethis)
           {
                 /// some more code
                 list2.Add(sk);
           }
      }
 }
class-MyClass
{
//如果MyClass是密封的或静态的,则将protected更改为private。
//如果您需要从MyClass外部访问它,请将其更改为public。
受保护列表列表2=新列表();
公共void DoThis(字符串项)
{
if(//somethis)
{
///还有代码吗
清单2.添加(sk);
}
}
}

您的逻辑或数据存储有问题您希望实现什么?我不明白,为什么总是创建新的
SecondClass
?需要澄清你的问题:
这不应该是
SecondClass
的一部分,而不是
MyClass
?太好了,希望我们能帮上忙;)弗苏尔告诉我的事情很有帮助,但我也不得不把我的清单放在我的方法之外。非常感谢。