C#:类型或命名空间 `List' 无法找到,但我导入了 System.Collections.Generic;

40

我遇到了一个错误

类型或命名空间名称 `List' 未找到。您是否缺少 using 指令或程序集引用?

示例代码:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class city1 : MonoBehaviour 
{  
   public static List<string> items = new List ();
   public static List<double> itemsprice = new List();
   public static List<double> qu = new List();
}

如果有影响的话,我正在使用mono。


1
尝试使用new List<string>();而不是new List();(以及...<double>等等)。 - 500 - Internal Server Error
3个回答

24
问题出在你实例化new List()时缺少泛型组件。请改为以下写法:
public static List<string> items = new List<string>();
public static List<double> itemsprice = new List<double>();
public static List<double> qu = new List<double>();

也就是说,没有类型为List的存在,但有一种通用类型List<T>

更多实例化通用List<T>的信息和示例可以在MSDN文档中找到。


10
在我的情况下,我不得不添加using System.Collections.Generic; - Catfish

2
尝试这个: public static List<string[]> items = new List<string>(); 在string后添加括号。

1

List是Unity中的一种通用类型。在Unity中实例化List时,应该提供项目类型

List<type> list = new List<type>();

例:

List<string> list = new List<string>();

将您的列表声明更改为以下内容:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class city1 : MonoBehaviour 
{  
   public static List<string> items = new List<string>();
   public static List<double> itemsprice = new List<double>();
   public static List<double> qu = new List<double>();
}

更多信息请参见:https://learn.unity.com/tutorial/lists-and-dictionaries#


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接