NET知识点整理.docx

上传人:b****1 文档编号:1008351 上传时间:2023-04-30 格式:DOCX 页数:19 大小:24.43KB
下载 相关 举报
NET知识点整理.docx_第1页
第1页 / 共19页
NET知识点整理.docx_第2页
第2页 / 共19页
NET知识点整理.docx_第3页
第3页 / 共19页
NET知识点整理.docx_第4页
第4页 / 共19页
NET知识点整理.docx_第5页
第5页 / 共19页
NET知识点整理.docx_第6页
第6页 / 共19页
NET知识点整理.docx_第7页
第7页 / 共19页
NET知识点整理.docx_第8页
第8页 / 共19页
NET知识点整理.docx_第9页
第9页 / 共19页
NET知识点整理.docx_第10页
第10页 / 共19页
NET知识点整理.docx_第11页
第11页 / 共19页
NET知识点整理.docx_第12页
第12页 / 共19页
NET知识点整理.docx_第13页
第13页 / 共19页
NET知识点整理.docx_第14页
第14页 / 共19页
NET知识点整理.docx_第15页
第15页 / 共19页
NET知识点整理.docx_第16页
第16页 / 共19页
NET知识点整理.docx_第17页
第17页 / 共19页
NET知识点整理.docx_第18页
第18页 / 共19页
NET知识点整理.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

NET知识点整理.docx

《NET知识点整理.docx》由会员分享,可在线阅读,更多相关《NET知识点整理.docx(19页珍藏版)》请在冰点文库上搜索。

NET知识点整理.docx

NET知识点整理

需要整理的知识点有:

.NET、SQL、JS、CSS、AJAX

----------------------------------------------------.NET框架基础-----------------------------------------------

什么是CLR?

它包括哪2个部分?

通用语言运行库。

包含.NET程序的引擎和符合CLI的类库。

什么是.NET框架?

就是CLR。

什么是CLI?

通用语言基础结构,是一份语言和数据格式的规范。

什么是CTS?

通用类型系统,定义了能够在CLR上运行的语言规范。

什么是CLS?

通用语言规范,定义了所有.NET程序需要符合的最小规范集。

.NET程序开发所需的最基本环境?

一个文字编辑器和针对编码语言的编译器。

运行.NET程序需要什么?

.NETFramework组件。

什么是程序集、应用程序域?

程序集:

模块与资源文件的集合。

应用程序域:

类似于OS的进程,提供代码运行范围、错误隔离和安全设置隔离的逻辑单元,其创建和开销较进程小。

.NET的运行机制是什么?

(1)编译C#代码

(2)把代码编译成中间语言,并包装成装配件

(3)通过JIT将装配件编译成机器码

什么是程序集强签名?

它有哪四个元素来唯一区别。

是一个带有公钥和数字签名的程序集。

四个元素是:

文件名、版本号、语言文化和公钥。

-------------------------------------------------C#.NET语法基础---------------------------------------------

什么是虚方法?

子类可以用override关键字来覆盖父类方法,实现该方法的另一种功能实现。

new关键字的作用?

显示隐藏从父类继承的成员,目的是将一个方法替换成另一个方法。

如何使得一个类不被继承?

用sealed关键字修饰此类

什么是装箱和拆箱?

装箱的作用?

装箱就是将值类型转换为引用类型Object,使得值类型可以存储在垃圾回收堆中

拆箱就是将引用类型转换为值类型

常用的值类型有哪些?

结构枚举整型浮点型布尔型

关键字ref的作用?

泛型ArrayList的好处是什么?

(不全)

·定义了针对某个类型的容器类ArrayList的泛型集合,就能避免数据进出容器引发的大规模的装箱和拆箱操作,从而提高系统运行性能。

.net中所有内建类型的基类是什么?

此基类中有哪些方法?

其中哪些是虚方法?

System.Object其主要方法有Equals()ToString()GetHashCode(),前两个是虚方法,需要被重写。

所有值类型的基类是什么?

System.ValueType,但也是继承自System.Object

值类型和引用类型的区别?

有3点

1、内存分配上

值类型在堆栈上分配内存空间,引用类型在堆上分配内存空间。

2、赋值时的区别

对于值类型,变量直接获得值类型的数据副本,对于引用类型,变量获得的是其对象的引用。

3、类型比较

对于值类型,直接内容比较,对于引用类型,是引用比较。

C#中是否有全局变量

没有传统意义的全局变量,c#程序中任何对象数据必须属于某个类型,但是通过公共静态变量可以实现全局变量的功能。

结构和类的区别是什么,结构适用于那些场合?

结构是值类型,不具备继承特性,不能定义虚方法和抽象方法,不能有无参构造函数,不能为成员变量设初值。

当一个类型仅仅是原始数据集合且不需要复杂操作时,定义为结构,因为结构作为值类型,对象内存分配和回收效率相对较高。

什么是类型的初始化器?

Q

类型的初始化器是指具有和类型相同名字、无参数无返回的一个static方法。

C#中方法的参数可以有哪几种传递方式?

Q

有三个关键字可以修饰方法的参数:

ref、out、params。

ref和out是引用传递,区别是ref要求参数传递前必须初始化,而out则不需要;

params实现了参数数目可变的方法,可以直接传入变量集合而无需声明数组。

C#中string和String以及object和Object有什么区别?

是同一个类型的两个名字,没有太多区别,string是String的别名,object是Object的别名。

但就编码规范来说,系统中最好使用一种,要么全用string,要么全用String。

.NET支持哪几种访问性级别,C#实现了其中的哪几种?

.NET支持的访问性级别有6种,分别是Public,Private,Family,Assembly,Family&Assembly,

FamilyorAssembly,C#除了Family&Assembly没有实现,其他都实现,相对应的关键字是public,private,protected,internal,protectinternal

什么是属性?

它有什么优点?

它和方法有什么区别?

属性是指有返回值无参数的特殊方法;

优点就是属性具有很好的扩展性。

(尝试举例p64)

和方法区别就是代替了早期的GetXXX/SetXXX方法,方便使用以及使代码可读性提高。

简述C#中的浅复制和深复制。

foreach循环语句和其他循环语句相比有何优点?

有何局限?

foreach循环语句适合遍历实现了IEnumberable接口的容器类,但不允许直接修改遍历项目的值,但可调用其方法来修改,其执行效率较高,在开发中应优先考虑使用。

C#中的using语句有什么作用?

using语句为实现IDisposable的类对象在using块结束后,自动调用Dispose()方法释放资源,相当于一个try/catch块,相当于一个异常处理块,所有对象应该在using语句开始后创建对象。

System.String是值类型还是引用类型?

是引用类型,其对象初始化后不能再做修改,一旦修改表示一个新字符串的生成。

StringBuilder类型有何作用?

当一个字符串被修改、连接等操作,最终生成需经过组装过程,期间会产生很多不需要的临时字符串对象,大大影响了程序性能,所以用StringBuilder类解决这个问题,一旦此类的ToString()方法被调用时,生成最终字符串对象。

String和Byte[]之间的互相转换?

(用到哪个类和哪2个方法)

Encoding.UTF8.GetBytes(字符串对象);

Encoding.UTF8.GetString(字节数组对象);

什么是字符串池机制?

CLR会保留程序中出现过的字符串对象集合,在需要新字符串时在其中查找,找到则返回已有对象引用,致力于改善程序性能。

(当然也可以使用StringBuilder类代替String类)

Int[]是值类型还是引用类型?

数组类型是一个类型族,都继承自System.Array,而System.Array又继承自System.Object,所以是引用类型。

C#中类可以有多个父类吗?

可以实现多个接口吗?

不能实现多继承,但可以实现多接口。

.NET接口指一系列方法、属性、索引和事件的签名。

简述C#中重写、重载和隐藏的概念。

重写(override):

是指子类用Override关键字重新实现定义在父类中的虚方法,并在实际运行时根据对象类型来调用相应的方法。

隐藏:

是指子类用new关键字重新实现定义在父类中的方法,但在实际运行时只能根据引用来调用相应的方法。

重载(overload):

拥有相同名字和返回值的方法拥有不同的参数列表。

为什么不能在构造函数中调用虚方法?

一个类的构造顺序是:

先初始化成员变量,然后执行父类构造函数,然后执行自己的构造函数。

也就是说当子类被创建时,现调用父类构造函数,其中含有虚方法,即子类构造函数中将重写此虚方法,然而此时子类构造还未完成,则对于为构造的子类成员访问是错误的。

如何声明一个类不能被继承?

用sealed关键字

进行类型判断时或者类型转换时如何更高效和避免异常?

用is和as关键字。

什么是泛型?

泛型有什么好处?

泛型允许程序员定义更通用的类型和算法,并且在具体使用时再生成具体类型。

能够避免容器类的装箱和拆箱问题。

什么是泛型的主要和次要约束?

主要约束指泛型的参数必须是引用类型,次要约束是指泛型的参数必须实现的接口。

什么是STL模板库?

是一种通用的、高效的算法、容器和迭代器的集合,有助于程序员更加高效的开发和节省时间。

--------------------------------------------------委托和事件-----------------------------------------------------

什么是委托?

委托有什么优点?

你什么时候会用到委托。

委托是一个继承自System.Delegate的类,每个委托变量都至少绑定了一个方法,当调用委托方法时,就会调用绑定到委托对象上的方法。

委托使程序更具有扩展性和灵活性,减少类与类之间的耦合度。

一个叫做stop()的方法要关闭多种电器,当需要添加新电器时不得不修改stop()方法;而用委托只需声明一个委托变量,将控制某种电器关闭方法绑定到此委托就可以了。

委托绑定实例方法和静态方法有什么区别?

委托内部有两个成员变量,_target和_methodPtr,当绑定实例方法时,_target的值为该方法所在类的实例对象,_methodPtr为该方法;当绑定静态方法时,_target则为null。

什么时链式委托?

请举个简单例子。

就是多点委托。

publicdelegatevoidstopDelegate();

publicstaticvoidstopTV()

{

Console.WriteLine("关闭电视机");

}

publicstaticvoidstopLight()

{

Console.WriteLine("关灯");

}

publicstaticvoidstopFan()

{

Console.WriteLine("关电扇");

}

staticvoidMain(string[]args)

{

stopDelegatestop=stopTV;

stopDelegatestop2=stopLight;

stopDelegatestop3=stopFan;

stopDelegatestopHead=stop+stop2+stop3;//链表头

stopHead();

}

链式委托执行顺序是怎样的?

委托结构里有个_prev变量指定链表中最后一个委托对象。

用Combine()方法来规定调用顺序。

链式委托的返回值是怎么样的?

委托多个有返回值的方法,只返回最后一个方法的返回值。

什么是事件?

举一个简单例子。

事件是一种特殊的委托。

staticinttime=0;

publicdelegatevoidstopDelegate();//关闭电器

publiceventstopDelegatetooLong;//电器使用太久了

publicstaticvoidstopTV()

{

Console.WriteLine("关闭电视机");

}

publicstaticvoidstopLight()

{

Console.WriteLine("关灯");

}

publicstaticvoidstopFan()

{

Console.WriteLine("关电扇");

}

staticvoidMain(string[]args)

{

Programp=newProgram();

stopDelegatestop=stopTV;

stopDelegatestop2=stopLight;

stopDelegatestop3=stopFan;

stopDelegatestopHead=stop2+stop+stop3;

p.tooLong=stopHead;

while(time<=24)

{

Console.WriteLine("时间:

"+time);

if(time==24)

{

p.tooLong();

}

time++;

}

用委托和事件表示以下情景:

猫叫,老鼠逃跑,主人醒。

-----------------------------------------------流和序列化-------------------------------------------------------

什么是流?

.NET中有哪些流?

他们的父类是什么。

流是一种对字节流的直接操作。

常见的有FileStream,MemoryStream等。

父类是System.IO.Stream。

什么是序列化?

如何将一个类型序列化?

不被序列化?

序列化就是把类对象转换成字节流,方便传输。

添加关键字[Serializable]和[NonSerializable]在类型前。

序列化有什么好处?

方法有哪2种?

使对象能够以某种存储形式持久化。

方法有二进制序列化和XML序列化。

-------------------------------------------------反射---------------------------------------------------------------

什么是反射?

有什么作用?

什么是元数据?

反射是一种动态分析、创建和调用程序集、模块、类的机制,依托于元数据。

得到.dll文件中的类信息和类方法,并创建类对象用以调用。

元数据是描述数据的数据,详细记录了程序集或模块内部的结构。

.NET如何来实现反射?

引用System.Reflection命名空间,可以读取元数据中的信息,并创建对象来调用对象的方法。

-----------------------------------------------WebService-------------------------------------------------------

WebService的三个基本元素是什么?

SOAP、WSDL、UDDI

什么是WebService?

它有什么优势?

为一些功能提供接口,让其可以被web上的其他程序访问的一种技术,建立可互操作的应用程序新平台。

web服务的变化可以很容易传播到客户端。

使用XML支持跨平台的兼容性。

请简述SOAP协议?

全称是SimpleObjectAccessProtocol(简单对象访问协议)

基于http协议,在分布或分散的环境中,以XML形式实现信息的交换,所以是一种跨平台的协议。

一条SOAP消息包含一个必须的SOAP封装,可选的标题和必须的体块。

什么是WSDL,它有何作用?

全称是WebServiceDescriptionLanguage(Web服务描述语言)

是Web服务的描述语言,符合XML语言规范,用来描述WebService的方法,包括方法名称、参数信息和返回值信息。

WebService如何处理附件?

根据XOP规范,即XML二进制打包,将所有的字节信息从消息中分离出来,进行单独打包。

什么是WebService代理类?

SOAP协议的代理类型,使得程序员可以通过本地类型方法(代理类)来访问WebService服务器的目的。

在.NET中可以通过WSDL工具或者添加Web引用来生成代理类型,后者可以在服务器端有所变动后方便更新。

*.Net创建WebService的方法?

(3种)

1、利用WebService类型和WebMethod方法,这种方法只需集中精力在逻辑工作。

1、通过实现IHttpRequest接口来自定义类型

3、自定义WebService资源文件和处理程序

------------------------------------------------------ADO.NET---------------------------------------------------

什么是关系型数据库?

有什么优点?

关系型数据库就是使用关系模型的数据库,关系模型简单说就是二维表模型。

优点有使用方便,容易理解,维护简单。

ADO.NET支持哪些数据源?

SqlServer数据库、Oracle数据库、OLEDB提供商和ODBC提供商。

什么是数据库连接池?

如何提高其性能?

使用完的连接将被放在连接池中,供下次使用。

当用户申请连接时,现在连接池中找相同连接字符串的连接,没有则新建。

尽量保证连接字符串不变。

如果遇到DataReader不能关闭数据库连接时怎么办?

用CommandBehavior.CloseConnection来关闭流读取数据模式下,不能有效关闭的连接。

用法:

在创建DataReader对象时添加这个属性

eg.SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection)

ADO.NET支持哪两种方式访问数据库?

连接式(Command和DataReader)和脱机式(DataAdapter和DataSet,适合小量数据)。

什么是强类型DataSet?

指根据定义好的结构,生成的继承自DataSet的类型。

相比DataSet,访问更方便(通过.字段名就能访问),有利于数据访问层和业务逻辑层之间的耦合度,也使得错误提前到编译阶段,而不是在运行时才报错。

SqlDataAdapter工作机制是什么?

内部有四个SqlCommand类型的成员进行增删改查操作,分别是SelectCommand,InsertCommand,UpdateCommand和DeleteCommand。

如何自动生成SqlDataAdapter更新命令?

使用SqlCommandBuilder类型。

---------------------------------------------------多线程----------------------------------------------------------

什么是进程和线程?

他们有什么区别?

进程:

一个运行着的应用程序的实体。

线程:

进程中的可以被调度的单元。

每个进程之间是相互隔离的,而线程之间可以相互访问。

什么是纤程?

是一种轻量级线程。

在.NET中如何控制线程?

提供了System.Threading.Thread类型封装了线程操作。

什么是线程池?

相当于一个缓存,以前创建的县城,当需要一个新线程时,先在里面找是否有相同的,找不到再重新创建,这样使为了降低系统开销。

lock关键字作用?

锁定某个对象来实现线程同步。

---------------------------------------------------文件操作-------------------------------------------------

如何创建一个文件夹?

System.IO.Directory.CreateDirectory("c:

\\新建文件夹");

DirectoryInfof=newDirectoryInfo("c:

\\3");

f.Create();

如何创建文件,并写入内容?

File.Create("C:

\\1.txt");

File.Create("C:

\\1.txt","内容");

StreamWritersw=newStreamWriter("c:

\\1.txt");

sw.Write("内容");

sw.WriteLine("内容");

------------------------------------------------------------------------------------------------------------

get和post请求有什么区别?

get是向服务器申请资源的请求,post是向服务器发送数据的请求。

get将数据放在url地址后面

get请求对长度和编码有限制,post没有长度限制

session有哪几种存储方式?

有何区别?

IIS进程(默认)、状态服务器、SqlServer数据库、自定义保存程序

除了默认,其他都需要能够可序列化的类型数据且不易丢失。

列举页面跳转方式?

Response.Redirect()、Server.Transfer()、JS脚本

笔记整理

AJAX的核心对象是什么?

根据不同浏览器写出创建其对象的代码?

XMLHttpRequest

创建代码:

如何强制使程序线程阻塞5秒钟?

System.Threading.Thread.Sleep(5000);

请描述ADO.NET组成结构?

由数据提供程序和数据集组成。

数据提供程序包括Connection,Command,DataAdapter,DataReader

数据集包括DataSet等。

如何将查询结果放入DataSet虚拟表中?

DataAdapterda=newDataAdapter(“sql语句”,con);

DataSetds=newDataSet();

da.Fill(ds,”虚拟表名”);

请写一个分页存储过程?

createprocusp_tablePaged

@pageSizeint,

@pageIndexint

as

withtas

selectrow_number()over(orderbyforumIddesc)asRowNo,*

fromforums

select*fromt

whereRowNobetween@pageSize*(@pageIndex-1)+1and@pageSize*@pageIndex

go

如何将一个数组参数添加到SqlCommand参数集合中?

AddRange()方法

Sql语言中有哪三种分类?

(?

TCL:

事务控制语言

DDL:

DML:

如何创建表索引?

Createindexindex_name

on表(字段)

setnocounton/off的作用是什么?

on不返回数据操作语句影响的行数,off相反

如何使实体类能够被序列化?

使用[Serializable]标记

请简述SqlServer中锁的作用?

有哪些类型的锁?

为了解决多事务并发所带来的问题;

解决丢失更新(一个人更新数据后另一个人又更新)、脏读、不可复读

锁的分类有:

共享锁、排他锁、更新锁、意向锁

锁的管理:

乐观锁(不用管理)、悲观锁(程序员管理、设置事务的隔离级别)

什么是OOD/OOA?

如何用sql语句判断数据库中某个存储过程是否存在?

Ifexsits(selecttype,namefromsys.all_objectswheretype=’p’andname=’存储过程名’)

其中sys.all_objects为数据字典

查询上一个插入语句的自动增长列号?

Select@@identity

什么是DNS?

域名

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2