我刚开始学习Windows Phone编程。
我有一个像这样定义的列表,
private List<Vector2> _terrain;
public List<Vector2> Terrain { get { return _terrain; } }
在这个下面,我用这样的一些向量填充列表,
level.Terrain.Add(new Vector2(i, (int)y));
假设我在这个列表中有50个元素。我想要做的是,我想要删除此列表中的第一项,然后将第二项移到第一位,第三项到第二项等等。我想要做的是我正在生成随机“事物” 。有了这个,我打算让它们看起来像移动。谢谢你的帮助!
答案 0 :(得分:1)
List<T>
类尝试为作为项列表的结构提供抽象。
因此,无论何时从列表中删除某个项目,它都会消失,并且该列表会自动压缩。例如,如果我有:
List<int> numbers = new List<int>();
for (int i = 0; i < 10; i++)
{
numbers.Add(i+1); //adds the numbers 1 through 10
}
Console.WriteLine(numbers[0]); //writes out 1 - the first item
Console.WriteLine(numbers[3]); //writes out 4 - the fourth item
Console.WriteLine(numbers.Count); //writes out 10 - there are ten elements
numbers.RemoveAt(0); //removes the first element of the list
Console.WriteLine(numbers[0]); //writes out 2 - the new first item
Console.WriteLine(numbers[3]); //writes out 5 - the new fourth item
Console.WriteLine(numbers.Count); //writes out 9 - there are nine elements now
numbers.RemoveAt(3); //removes the fourth element of the list
Console.WriteLine(numbers[0]); //writes out 2 - still the first item
Console.WriteLine(numbers[3]); //writes out 6 - the new fourth item
Console.WriteLine(numbers.Count); //writes out 8 - there are eight elements total
答案 1 :(得分:0)
听起来你想要一个队列而不是一个List。
答案 2 :(得分:0)
试试这个:
level.Terrain.RemoveAt(0)
答案 3 :(得分:0)
使用通用队列
Queue<Vector2> testQueue= new Queue<Vector2>();