簡體   English   中英

c#list。添加並發症

[英]c# list.Add complication

我有類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);
    }
}

我編輯了代碼,我犯了一些錯誤。 抱歉

你正在DoThis的范圍內初始化list2 您必須將其聲明為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);
           }
      }
 }

試試這段代碼:

它應該將您的列表存儲為類中的字段。 當你在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);
       }
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM