使用System.Collections.Generic的问题;或者是其他东西

时间:2012-12-03 21:42:49

标签: c# xna-4.0

public class Game1 : Microsoft.Xna.Framework.Game
{      
    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;

     public Game1()
     {
        graphics = new GraphicsDeviceManager(this);
        Content.RootDirectory = "Content";
     }

     protected override void Initialize()
     {                
        base.Initialize();
     }

     bool hasJumped = true;            
     Vector2 velocity;
     Texture2D player;
     Texture2D ground1;
     List<Vector2> vectors = new List<Vector2>();
     List<int> list = new List<int>();
     List.add(1);

List.add(1);会导致2个错误"Invalid Token '(' in class,struct,or interface member declaration""using the generetic type 'System.Collections.Generic.List<T>' requiers 1type arguments"

发生什么事请告诉我

4 个答案:

答案 0 :(得分:3)

正确的案例是list.Add(1)

答案 1 :(得分:2)

您应该使用list.Add(1)代替List.add(1)。实例名称为list而非List,方法名称为Add而非add。此外,您不能在类的主体中进行方法调用,而是在类中的某个方法的主体中。

你不能在课堂上有这个:

List<int> list = new List<int>();
list.Add(1);

但你可以在身体中创建一个List,并有一个这样的方法:

List<int> list = new List<int>();
public void AddOne()
{
     list.Add(1);
}

或者您可以在正文中声明list,然后在方法中对其进行实例化,并像这样调用Add

List<int> list;
public void CreateListAndAddOne()
{
     list = new List<int>();
     list.Add(1);
}

答案 2 :(得分:1)

而不是List.add(1)使用list.Add(1);

修改

你不能在你的类中以这种方式使用它,但你需要将它用于方法,构造函数或属性。但是解决方案可能是:

List<int> list = new List<int>(){ 1 };

答案 3 :(得分:0)

Add不是静态方法..它是一个实例方法。

重命名变量有助于缓解混淆(请记住,C#区分大小写):

List<int> myIntegerList = new List<int>();
myIntegerList.Add(1);