0

我有 MyClass() 类,其中我从另一个 SecondClass() 调用方法,它完成的是 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);
    }
}

我编辑了代码,我有一些错误。对不起

4

2 回答 2

2

您正在's 范围内进行list2初始化。DoThis您必须将其声明为 的成员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);
           }
      }
 }
于 2013-07-30T09:46:32.900 回答
0

试试这个代码:

它应该将您的列表存储为类中的字段。当您在 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);
       }
     }
}
于 2013-07-30T09:44:32.453 回答