学习啦 > 知识大全 > 知识百科 > 百科知识 > .Net知识点

.Net知识点

时间: 若木632 分享

.Net知识点

学习啦在线学习网   分享如何系统学习.Net/DotNet知识点。从编程语言C#开始,到面向过程,面向对象、 C#高级编程知识、数据库及Ado.Net,网页请求响应原理,学习开发Asp.Net。

  需要整理的知识点有:.NET、SQL、JS、CSS、AJAX

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

  什么是CLR? 它包括哪2个部分?

  通用语言运行库。包含.NET程序的引擎和符合CLI的类库。

  什么是.NET框架? 就是CLR。

  什么是CLI?

学习啦在线学习网   通用语言基础结构,是一份语言和数据格式的规范。

  什么是CTS?

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

  什么是CLS?

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

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

学习啦在线学习网   一个文字编辑器和针对编码语言的编译器。

学习啦在线学习网   运行.NET程序需要什么? .NET Framework组件。

学习啦在线学习网   什么是程序集、应用程序域? 程序集:模块与资源文件的集合。 应用程序域:类似于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, Family or Assembly,C#除了Family&Assembly没有实现,其他都实现,相对应的关键字是public,private,protected,internal,protect internal

学习啦在线学习网   什么是属性?它有什么优点?它和方法有什么区别? 属性是指有返回值无参数的特殊方法; 优点就是属性具有很好的扩展性。(尝试举例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。

学习啦在线学习网   什么时链式委托?请举个简单例子。 就是多点委托。

学习啦在线学习网   public delegate void stopDelegate(); public static void stopTV() {

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

  public static void stopLight() {

  Console.WriteLine("关灯"); }

  public static void stopFan() {

  Console.WriteLine("关电扇"); }

  static void Main(string[] args) {

  stopDelegate stop = stopTV; stopDelegate stop2 = stopLight; stopDelegate stop3 = stopFan;

学习啦在线学习网   stopDelegate stopHead = stop + stop2 + stop3; //链表头 stopHead(); }

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

  委托结构里有个_prev变量指定链表中最后一个委托对象。 用Combine()方法来规定调用顺序。

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

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

  什么是事件?举一个简单例子。 事件是一种特殊的委托。

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

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

  什么是纤程?

  是一种轻量级线程。

学习啦在线学习网   在.NET中如何控制线程?

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

  什么是线程池?

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

学习啦在线学习网   lock关键字作用?

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

  ---------------------------------------------------文件操作------------------------------------------------- 如何创建一个文件夹?

学习啦在线学习网   System.IO.Directory.CreateDirectory("c:\新建文件夹"); 或

  DirectoryInfo f = new DirectoryInfo("c:"); f.Create();

  如何创建文件,并写入内容? File.Create("C: class="main">

.Net知识点

时间: 若木632 分享

  File.Create("C: class="main">

.Net知识点

时间: 若木632 分享

  StreamWriter sw=new StreamWriter("c: class="main">

.Net知识点

时间: 若木632 分享

  ----------------------------------------------------asp.net-------------------------------------------------------- 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虚拟表中?

学习啦在线学习网   DataAdapter da=new DataAdapter(“sql语句”,con); DataSet ds=new DataSet(); da.Fill(ds,”虚拟表名”);

  请写一个分页存储过程?

  create proc usp_tablePaged @pageSize int, @pageIndex int as

  with t as ( select row_number() over(order by forumId desc) as RowNo,* from forums

  )

学习啦在线学习网   select * from t

  where RowNo between @pageSize*(@pageIndex-1)+1 and @pageSize*@pageIndex go

学习啦在线学习网   如何将一个数组参数添加到SqlCommand参数集合中? AddRange()方法

  Sql语言中有哪三种分类?(?) TCL:事务控制语言 DDL: DML:

学习啦在线学习网   如何创建表索引?

学习啦在线学习网   Create index index_name on 表(字段)

  set nocount on/off的作用是什么?

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

  如何使实体类能够被序列化? 使用[Serializable]标记

学习啦在线学习网   请简述Sql Server中锁的作用?有哪些类型的锁? 为了解决多事务并发所带来的问题;

  解决丢失更新(一个人更新数据后另一个人又更新)、脏读、不可复读 锁的分类有:共享锁、排他锁、更新锁、意向锁 锁的管理:乐观锁(不用管理)、悲观锁(程序员管理、设置事务的隔离级别)

学习啦在线学习网   什么是OOD/OOA?

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

  If exsits (select type,name from sys.all_objects where type=’p’ and name=’存储过程名’) 其中sys.all_objects为数据字典

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

  什么是DNS?

  域名解析服务器,用于将域名转换成其ip地址。

  TCP/IP包括哪些层?每个层的作用有哪些? 应用层:HTTP,FTP,SMTP (端口号) 传输层:TCP UDP(指定传输协议) 网络层:IP(找到IP地址)

学习啦在线学习网   物理层:电气规范(定位到物理元件)

  ASP.NET中虚路径转实际路径的方法? Server.MapPath(“images/xx.jpg”)

  如何在页面上打印html源代码?(2种) Literal控件,mode属性值改为Encode。(此控件本身不再页面产生任何代码) Server.HtmlEncode(str);

  泛型的原理是什么?泛型有什么作用?写一个简单的泛型例子。

  允许程序员定义更通用的类型和算法,并且在具体使用时再生成具体的类型。 泛型可以避免容器类操作中装箱和拆箱的问题。

学习啦在线学习网   页面跳转的2种方式

  Server.Transfer("b.aspx"); --服务器端转发(1次请求)

  Response.Redirect("b.aspx"); --客户端重定向(2次请求)

  全局应用程序中有哪些方法? Session_Start() 和 Session_End()

  什么是HttpHandler?和aspx页面有什么区别?

学习啦在线学习网   http处理程序是负责处理请求的aps,net组件,aspx页面是处理程序的一个实例。

  什么是ORM?简述其原理。ORM:对象关系映射,是一种为了解决面向对象和关系型数据库存在互不匹配现象的技术,将程序中的对象自动持久化到数据库中。简单说,就是通过对对象的操作,就可以实现对数据访问的功能。 框架有N

  ORM有哪些框架(持久化框架)?

学习啦在线学习网   NHibernate、Active Record和Linq(MS推出的OR技术)。

  什么是持久化?持久层?

学习啦在线学习网   把数据保存在可掉电的存储设备上。 持久层类似于DAL。

  什么是解耦合?

学习啦在线学习网   降低关联的紧密程度,分离业务逻辑和数据逻辑,分离逻辑结构和物理结构,避免因底层结构变动对上层产生较大影响。

  Question

  string[] str = new string[3]; str[0] = "0"; str[1] = "1"; str[2] = "2";

  ArrayList list = new ArrayList(); list.AddRange(str); foreach (string s in list) {

学习啦在线学习网   Console.WriteLine(s); }

  string[] str1 = (string[])(list.ToArray());

  //解决方法:string[] str1 = list.ToArray() as String[] Console.WriteLine(); foreach (string s in str) {

  Console.WriteLine(s.ToString()); }

84014