[英]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.