面试题第一章
1. 什么是委托?委托和事件是什么关系?2.什么是反射?3.C#中是否可以从多个类中继承?如何实现多重继承?4.什么是密封类?5.using关键字有几种用途?6.#warning和#error分别的用途是什么?7.ASP.NET Web应用程序和ASP,NET网站的区别是什么?第二章
1.string和StringBuilder有什么区别?2.const和readonly的区别?3.new、virtual、abstract、override、sealed的区别?4.abstract class和interface有什么区别?5.公共变量与属性的区别?6.结构与类的区别?第三章
1.页面事件的执行顺序?2.页面之间传值有哪几种方法?3.ASP.NET服务器控件和HTML控件的区别?4.Server.Transfer和Response.Redirect的区别?5.XHTML与HTML的区别?
其他请查询google
google
are you ok!!!
以下回答,仅供参考第一章
1. 什么是委托?委托和事件是什么关系?
委托:即C++中的函数指针, 是将方法的类型, 将方法当做参数传入一个方法中。
事件,是对委托的简单封装。是特殊的委托方式。 2.什么是反射?
反射:是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员等
为创建对象和调用其他方法提供了替代方案3.C#中是否可以从多个类中继承?如何实现多重继承?
C#不支持多重继承, 可以用接口去实现。4.什么是密封类?
就是不能被继承的类 Sealed类5.using关键字有几种用途?
1. 引入命名空间
2. 可以做命名空间的简写
3. 可以配合{}写代码,做到代码运行完后,自动释放资源的目的。 但类必须是已经实现iDispose接口的。6.#warning和#error分别的用途是什么?
#warning,在编译时, 报告出错误,但继续运行
#error, 在编译错误时,报告作出,但停止运行了7.ASP.NET Web应用程序和ASP,NET网站的区别是什么?
具体不是很清楚,请查阅网上资料
个人理解是
ASP.NET Web应用程序,是一单页面编译的方式,编译速度快,轻巧。
ASP.NET网站,整个站点编译,速度会稍微慢点。
第二章
1.string和StringBuilder有什么区别?
string: 每次做更新操作时,是先创建一个新的对象,赋新的数据进入。然后销毁原来的过程。
StringBuilder: 每次更新内能操作时,仅仅修改对象中的数据。 是System.Text 命名空间中的类
当处理大量附加,修改操作字符串数据时,StringBuilder处理速度要快很多。2.const和readonly的区别?
const,在编译时就确定,声明时必须初始化,属于静态常来
readonly,在运行时确定,可以声明时初始化也可以在构造函数里初始化,属于动态常量3.new、virtual、abstract、override、sealed的区别?
new: 隐藏父类的方法
virtual: 虚函数关键词,用于子类重写用, 多态的一种表现方式
abstract: 抽象类,抽象方法。 表示要实现的子类,一定要实现这些方法。 抽象类,不可被实例化等...
override: 重写父类方法的一个关键字
sealed: 密封类的关键词,表该类将不可被继承4.abstract class和interface有什么区别?
abstract class: 里面可以有方法的实现,可以有抽象的方法,也可以没有一个抽象的方法,它不能被实例化,可以做声明,类里的成员默然修饰符为private
interface: 默然修饰符为public, 里没有方法体。做类与类之间的功能通信的一种协议,约定用。
interface,可以认为是中特殊的abstract class .5.公共变量与属性的区别?
属性:
1. 可以自己控制读写功能
2. 可以直接赋值
3. 可以做更加具体的操作,判断。更加安全
推荐用属性取代公共变量。6.结构与类的区别?
结构 struct: 是值类型,在栈上,默然成员是public,没有析构函数,不能被继承. 仅仅表示数据时可用结构。
类 class: 是引用类型,在堆上,默然成员修饰符为private, 有析构函数,可以被继承等。第三章
1.页面事件的执行顺序?
大致如下吧:
page_perInit,page_Init,page_InitCompleted
page_perLoad,page_Load,page_LoadCompleted
page_perRender,page_Render,page_RenderCompleted
2.页面之间传值有哪几种方法?
Quertstring, Session, Cookies, Url的方式,Server,Transfer等3.ASP.NET服务器控件和HTML控件的区别?
ASP.NET服务器控件: 运行于服务端, 功能,属性更多,速度要消耗服务器资源,速度会偏慢点,有runat=“Server” 属性。
HTML控件:运行于客户端4.Server.Transfer和Response.Redirect的区别?
Server.Transfer: 从一个页跳转到另一个页,但保留有前一个页面的信息,变量等
Response.Redirect: 也是从一个页跳转到另一个页,但前一个页面的数据,信息将全部消失。
2者的页面运作机制,事件有所不同。5.XHTML与HTML的区别?
XHTML
1. 语法严格。
2. 区分大小写
3. 属性名必须为小写
4. 必须有结束符标识 <input type="" /> <img>..</img>
等等仅仅供参考。
希望有用。
什么是委托说不出来但是我理解是编译器自动做这些事Interface A //定义委托
{
public void a(B b); //这个是你定义的方法签名
}class C:A //声明委托
{
public void a(B b)
{
//do something
}
}List<A> m=new List<A>();
m.Add(C) //添加一个委托方法do(B b) //调用委托
{
foreach(A s:m)
{
a.a(b)
}
}事件是特殊的委托 只可以被当前类触发
2.什么是反射?
一种在编程的时候读取类型的信息的方法3.C#中是否可以从多个类中继承?如何实现多重继承?
可以, 通过 接口 或 内部类 间接实现4.什么是密封类?
sales 被阉割掉的类5.using关键字有几种用途?
命名空间 释放资源
6.#warning和#error分别的用途是什么?
预处理运算符 第一个强制编译器抛一个 warning 第二个强制抛一个 error 最好搭配 #if 使用7.ASP.NET Web应用程序和ASP,NET网站的区别是什么?
不知道第二章
1.string和StringBuilder有什么区别?
string 长度不可变 StringBuilder 长度可变2.const和readonly的区别?
const定义的时候必须初始化 readonly 不必要3.new、virtual、abstract、override、sealed的区别?
new 是重写的时候告诉编译器我知道我在干嘛别得瑟了
virtual 告诉编译器这个方法在子类中可以被覆盖
abstract 表示这个方法在父类中没有合适的实现方法 所以不写了 当然所属的类不能被实例化 因为这个方法没有具体实现
override 我要覆盖父类中的这个方法
sealed 阉割刀 避免 继承的依赖现象4.abstract class和interface有什么区别?abstract class表示的是 is a 或者 like is a 的关系 interface 是 can do
abstract class强调实现的相同部分 interface 强调具体实现的差异部分5.公共变量与属性的区别?
一个是字段存数据用的 一个是特殊的方法完成服务功能用的 有什么共性么?6.结构与类的区别?
一个在堆栈上存储数据 一个在堆上存储数据
栈比较快 堆比较灵活 栈比较小 堆比较大第三章 ///不会
1.页面事件的执行顺序?2.页面之间传值有哪几种方法?3.ASP.NET服务器控件和HTML控件的区别?
服务器控件是服务器端的控件会被编译 HTML是客户端的控件 直接显示给客户端
4.Server.Transfer和Response.Redirect的区别?5.XHTML与HTML的区别?