好吧,首先,我不确定我在这个问题中的标题是否传达了我想问的内容。我只是不知道如何用一句话来描述我的问题,希望标题不会引起任何误导。
如果我有清单。列表内包含 100 个数据:list<100>
如果我把这个列表放在一个 1 秒的计时器内并这样做:
myList.RemoveRange(0, 2);
这意味着,每 1 秒,列表内的数据长度将为 -2;
这意味着,每 1 秒,它将是<98> , <96> , <94> .... <0>
现在我的问题是......我还有一个列表,但列表将包含一个数组:list<array[100]>
现在,我想要的是,每 1 秒,列表内的数组内的数据长度将为 -2。但我不确定如何做到这一点......
我想要的是,每 1 秒<array[98]> , <array[96]> , <array[96]> ... <array[0]>
因此,如果列表包含<array0[100] , array1[100], array2[100]>
如果我把这个列表放在一个循环中,每隔 1 秒,它应该是
array0[98] , array0[96] ... array0[0]
array1[98] , array1[96] ... array1[0]
array2[98] , array2[96] ... array2[0]
更新:
List<int[]> myList = new List<int[]>();
object myLock = new object();
Random rand = new Random();
public Form1()
{
timer1second.Start();
}
private void SomeMethod()
{
int[] myData = new int [100]
for (int i = 0; i < 100; i++)
{
//generate some random number to store inside myData[]
myData[i] = rand.Next(1 , 10);
}
lock (myLock)
{
myList.Add(myData); //mean List[0] = myData[100]
}
}
private void timer1second_Tick(object sender, EventArgs e)
{
lock (myLock)
{
//do something here in myList to get the myData[100 - 2]
//so that every 1 second tick, the data length inside the MyData will be -2
}
}