1.c#、.net、asp.net的区别
c#是一种语言
.net是一种平台,该平台下包含很多技术,比如:asp.net、ado.net、、、等
asp.net是.net平台下的开发web程序的技术
c#是.net平台下的一种开发语言
2.c#中的委托
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If … Else(Switch)语句,同时使得程序具有更好的可扩展性。
详细例子:http://www.cnblogs.com/SkySoot/archive/2012/04/05/2433639.html
3.private、 protected、 public、internal 修饰符的访问权限
private : 私有成员, 在类的内部才可以访问。
protected: 保护成员,该类内部和继承类中可以访问。
public: 公共成员,完全公开,没有访问限制。
internal:在同一命名空间内可以访问。
4.override与重载的区别
重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要
Override是进行基类中函数的重写。为了适应需要。
(1)DataSet 用来无连接的储存多个表的数据,并包含表与表之间的关联关系
(3)SqlConnection 用来创建一个到数据库的连接
(4)SqlCommand 用来执行SQL语句
(5)SqlDataReader 用来顺序读取数据
(6)SqlDataAdapter 用来将数据填充到DataSet或DataTable
6.在C#中,string str = null 与 string str = “” 的区别。
string str= " ",表示一个空串,被实列化了,占用了内存空间,
string str=null,表示一个空引用,没有占用了空间,
7.类(class)与结构(struct)的异同?
1. 值类型与引用类型
结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,通过使用结构可以创建更多的值类型
类是引用类型:引用类型在堆上分配地址
堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑
因为结构是值类型所以结构之间的赋值可以创建新的结构,而类是引用类型,类之间的赋值只是复制引用
注:
1.虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object
2.虽然结构的初始化也使用了New 操作符可是结构对象依然分配在堆栈上而不是堆上,如果不使用“新建”(new),那么在初始化所有字段之前,字段将保持未赋值状态,且对象不可用
2.继承性
结构:不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed声明,可是结构是隐式的sealed .
类:完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被继承
注:虽然结构不能被继承 可是结构能够继承接口,方法和类继承接口一样 。
8.面向对象的语言具有封装性,多态性,继承性。
9.c#是否可以继承String类?
String类是final类故不可以继承。
10.数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。
String有length()这个方法。
11.C#可否对内存进行直接的操作?
不可以进行直接操作,只是可以访问。unsafe下是可以的。是不受CLR管理的。当然仅限于基本类型。
自行百度CLR
12.<%# %> 和 <% %> 有什么区别?
< %#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定
如: < %# Container.DataItem("tit") %>
< %= %>: 在程序执行时被调用,可以显示后台变量值
如:*.aspx中: < %= Title %>
*.cs中: public string Title ="title";
13.在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?
一个是退出整个应用程序,一个是关闭其中一个form。
14..net的错误处理机制是什么?
.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
15.在.Net中,类System.Web.UI.Page 可以被继承么?
可以。
16.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?
GC。
17.什么是code-Behind技术。
ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务
器代码分离.方便代码编写和整理.
18.DataReader与Dataset有什么区别?
dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表
DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接
详细讲解:http://blog.csdn.net/stypace/article/details/10557755
19.Session有什么重大BUG,微软提出了什么方法加以解决?
由于IIS中有进程回收机制,系统繁忙的话Session会丢失,可以用stateserver或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法补货Session的END事件。