사용 방법 을 추가하는 List<Packet>
데 문제가 있습니다. 중첩 for 루프를 사용하고 있으며 종료되면 마지막 루프에서 마지막 반복으로 채워진 모든 항목이 있습니다. 모든 이전 값을 대체하고 코드를 디버깅하고 이런 일이 발생하는 것을 지켜 보았습니다. 올바른 방법은 무엇입니까?List<List<Packet>>
.Add
List<List<Packet>>
List<Packet>
이것은 내가 사용하는 코드입니다.
static List<List<Packet>> generateRandomLists()
{
List<Packet> myList = getListOfItems();
object syncLock = new object();
int randomNo;
List<List<Packet>> lists = new List<List<Packet>>();
List<Packet> temp = new List<Packet>();
const int SIZE = 10;
for (int i = 0; i<SIZE ; i++)
{
temp.Clear();
const int THRESHOLD = 48;
for (int j = 0; getWeightOfBag(temp)<THRESHOLD; j++)
{
lock(syncLock)
{
randomNo = rand1.Next(0, myList.Count);
Console.Write("{0}, ", randomNo);
}
temp.Add(myList[randomNo]);
}
Console.WriteLine();
lists.Add(temp);
}
return lists;
}
의 동일한 인스턴스를 사용 temp
하고 있으며 매번 새 인스턴스를 만들고 싶습니다.
대신에
temp.Clear();
하다
List<Packet> temp = new List<Packet>();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다