c#基础回忆(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cherish_CX/article/details/53138473

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是进行基类中函数的重写。为了适应需要。

5..NET中读写数据库需要用到那些类?他们的作用?

(1)DataSet 用来无连接的储存多个表的数据,并包含表与表之间的关联关系

(2)DataTable 用来存储一个表的数据

(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事件。








  


















猜你喜欢

转载自blog.csdn.net/cherish_CX/article/details/53138473
今日推荐