有问题,找不到类型或命名空间名称“List”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有问题,找不到类型或命名空间名称“List”相关的知识,希望对你有一定的参考价值。
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.htmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class ShouYing2 : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
Chengji c = new Chengji();
c.Add(new User("李四", 100));
c.Add(new User("张三", 101));
Label1.Text = c["李四"].ToString();
public struct User
public string name;
public int xuehao;
public User(string _name, int _xuehao)
this.name = _name;
this.xuehao = _xuehao;
public class Chengji
//Chengji不需要继承自User,它没有实现User的字段
private List<User> xueshen; //尖括号中给出数据类型
public Chengji()
/*
如果要实例化,构造函数不可省略即使是空的
这个函数用于给对象初始化。注意构造函数不能
给出函数类型,因为构造函数返回类型是确定的,
即它所在的类。它必须与类同名。
*/
public void Add(User u) xueshen.Add(u);
public string this[int Id]
get return xueshen[Id].name;
public int this[string Xm]
get
int? i = null; /*加?表示可空类型,万一找不到
数据可以给i空值,不是所有类都可以
为可空类型,相关资料参见:
http://msdn.microsoft.com/zh-cn/library/1t3y8s4s(VS.80).aspx
*/
foreach (User u in xueshen) if (u.name == Xm) i = u.xuehao;
//用foreach语句遍历xueshen List<User>类
if (i != null) return (int)i;//int?与int是不同类型要强制转换
else Label1.Text = "没找到";
错误 找不到类型或命名空间名称“List”(是否缺少 using 指令或程序集引用?)
错误 2 无法通过嵌套类型“ShouYing2.Chengji”来访问外部类型“ShouYing2”的非静态成员
出现第二个错误“错误 2 无法通过嵌套类型“ShouYing2.Chengji”来访问外部类型“ShouYing2”的非静态成员”
是因为你在类中嵌套类,写法用问题,你将Chengji这个类移到ShouYing2 类外面就可以了
public partial class ShouYing2 : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
Chengji c = new Chengji();
c.Add(new User("李四", 100));
c.Add(new User("张三", 101));
Label1.Text = c["李四"].ToString();
public struct User
public string name;
public int xuehao;
public User(string _name, int _xuehao)
this.name = _name;
this.xuehao = _xuehao;
public class Chengji
//Chengji不需要继承自User,它没有实现User的字段
private List<User> xueshen; //尖括号中给出数据类型
public Chengji()
/*
如果要实例化,构造函数不可省略即使是空的
这个函数用于给对象初始化。注意构造函数不能
给出函数类型,因为构造函数返回类型是确定的,
即它所在的类。它必须与类同名。
*/
public void Add(User u) xueshen.Add(u);
public string this[int Id]
get return xueshen[Id].name;
public int this[string Xm]
get
int? i = null; /*加?表示可空类型,万一找不到
数据可以给i空值,不是所有类都可以
为可空类型,相关资料参见:
http://msdn.microsoft.com/zh-cn/library/1t3y8s4s(VS.80).aspx
*/
foreach (User u in xueshen) if (u.name == Xm) i = u.xuehao;
//用foreach语句遍历xueshen List<User>类
if (i != null) return (int)i;//int?与int是不同类型要强制转换
else Label1.Text = "没找到";
另外这里有个地方写法不好, if (i != null) return (int)i;
这里用强转不是个好方法,应该是这样写比较好:
if(i.HasValue) return i.Value;
可空类型int?有一个是否有值的属性,如果有值(不为空),则返回这个可空类型的Value属性。这个Value属性就是这个可空类型不为空的int型l... 参考技术A ShouYing2 把这个方法前加static
那个List 把光标放在List上,会出现一个小方框, 同时按下Shift+Alt+F10那个引用空间就会显示也来,你按上下按enter确定就好了 参考技术B 需要引用System.Collections.Generic命名空间
还有,不要在类中再定义类,最好分开。
把所有类和结构都在最外面定义。
按照习惯,最外层加上一个命名空间来组织这些类来自:求助得到的回答 参考技术B 缺少命名空间 导入命名空间就行了 参考技术C using System.Collections.Generic;
缺这个
在构建过程中出现错误“找不到类型或命名空间名称”
【中文标题】在构建过程中出现错误“找不到类型或命名空间名称”【英文标题】:Error "The type or namespace name could not be found" during a build process 【发布时间】:2014-03-04 19:27:00 【问题描述】:我在 C# Windows 应用程序中使用,我在使用
TempProWin --> 适用于 Windows 应用程序项目 TempProApp --> 用于数据库和使用 CSLA 方法的类文件等功能。
在 TempProWin.frmLogin.cs 中:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TempProApp;
private void frmLogin_Load(object sender, EventArgs e)
UserLoginList oUserLoginList = UserLoginList.GetUserLoginList();
cmbUserName.DataSource = oUserLoginList;
cmbUserName.DisplayMember = "Select User";
但是当我构建这个应用程序时,我得到了以下错误:
错误 5 找不到类型或命名空间名称“TempProApp”(您是否缺少 using 指令或程序集引用?)
我已经包含了 D:\TempPro\TempProApp\bin\Debug 路径中对 TempProApp.dll 的引用
【问题讨论】:
您能检查一下您的 .NET 框架版本吗?它应该与您的程序集匹配 查看***.com/questions/4764978/… 为什么要引用 bin/debug 文件夹中的 dll?如果是第三方-dll,将其添加到解决方案中,添加对它的引用,并将其设置为Copy Local = true。 @NitinVarpe 建议的链接中列出了许多可能的原因。或者它只是 TempProApp 中的命名空间是其他东西,与项目名称不同? 【参考方案1】:右键单击 TempProApp 并转到定义。
在最上面,您将看到 dll 名称及其版本。您可以验证您是否使用相同的dll版本。
【讨论】:
出现错误“无法导航 'TempProApp'” 你有没有把这个dll放在同一个应用的输出目录下?如果是,请将其保存在其他目录中,然后尝试。【参考方案2】:确保您已正确拼写要包含的命名空间。此外,引用的 .dll 必须已成功构建。
始终确保上述两个方面的一种方法是将您要引用的项目包含在您的工作项目中。这也将确保在您的工作项目的每个构建中,引用的 PROJECT 也会重新构建,因此所做的任何更改都会生效
On Solution Explorer->Right Click-> Add existing Project-> Select the Project you would initially Reference
On References->Add new Reference-> Select Projects Tab-> Select the Project you added
【讨论】:
【参考方案3】:如果您有其他构建警告,则可能会导致spurious“找不到类型或命名空间名称”构建错误。
我部分地编写了一个异步 HTTP 方法,它会生成有关缺少等待的警告。我计划构建系统的其余部分,然后修复它。
但我开始遇到上述硬错误。我花了三个小时试图找出它的原因。我尝试了所有建议的修复,四重检查名称等,甚至删除并重新创建了产生投诉的项目。不用找了。我觉得奇怪的是,当我在有问题的类型引用上单击 Go To Definition 时,VS 2012 可以毫无问题地找到它。见鬼*
作为最后的手段,我注释掉了产生警告的代码。这修复了虚假的错误消息,构建成功。
因此,如果您已排除其他原因并且您有其他构建警告,请尝试修复这些问题。
【讨论】:
【参考方案4】:我在附加 Gamecenter 成就时遇到了同样的错误,然后我意识到我错过了一个类名。
using UnityEngine.SocialPlatforms;
using UnityEngine.SocialPlatforms.GameCenter;
也许您也缺少 1 个类名。
【讨论】:
【参考方案5】:如果您使用的命名空间没有公开任何公共方法,也可能导致此错误。确认您使用的命名空间包含公共类中的公共方法。
【讨论】:
以上是关于有问题,找不到类型或命名空间名称“List”的主要内容,如果未能解决你的问题,请参考以下文章
找不到类型或命名空间名称“...” - Unity Vuforia
vs2008中的错误 1 找不到类型或命名空间名称“Graphics”(是不是缺少 using 指令或程序集引用?)怎么解决?急