C#基础面试

1. 简述Private、Protected、Public、Internal 等访问修饰符的访问权限问题

Private:私有成员,只有类的内部成员可以访问

Protected:保护成员,在类的内部和继承类中可以访问

Public:公共成员,没有访问权限

Internal:在当前程序集内都可以进行访问

2.ADO.NET中的五个主要对象

(1)Connection对象:主要作用是开启程序集和数据库之间的连接(open()和close()方法)。

(2)Commend对象:发送SQL语句指令以及调用在数据库中的存储过程。

(3)DataAdapter对象:功能:在数据源和DataSet之间执行数据传输的工作。

它可以通过Commend对象下达命令,将获得的数据传送到DataSet中。

(4)DataSet对象:是一个存储在内存中的缓存区(Cache),可以将数据库中所查询的数据先保留在Dataset中,也可将整个数据库的数据显示出来。

(5)DaraReader对象:依次向下循环读取数据(只有只读功能)

数据库和程序集之间的执行过程:

ADO.NET使用Connection对象连接数据库,使用Commend对象或DataAdapter对象执行SQL语句或存储过程,并将执行的结果返回给DataReaderd对象或DataAdapter对象,然后再使用取得的DataReader对象或DataAdapter对象尽享操作数据结果。

3.列举ASP.NET页面之间的传值方式

经常使用的方法有以下几种:

(1)使用QueryString

(2)使用Session变量

(3)使用Server.Transfer

(4)使用cookie对象

(5)使用application对象

传值的更多详细信息(有例子和代码):http://www.cnblogs.com/zhangkai2237/archive/2012/05/06/2486462.html

4.Response.Redirect方法与Server.Transfer之间的区别

Server.Transfer方法是服务器内部的转接,浏览器并不知晓(即已经跳转到指定的页面,显示的页面内容是跳转后的内容,而地址栏中的地址确实跳转页面之前的地址)

Response.Redirect方法是有浏览器参与的,在地址栏中可以看到地址的变化

5.重写(overide)与重载(overload)

重写(override)是进行基类中函数的的重写,是面向对象的概念。

重载(overload)是方法名相同,参数或参数类型不同,进行多次的重栽以适应不同的需要,是面向过程的概念。

6.C#中的索引是否只能根据数字进行索引?是否于允许多个索引参数?

C#中的索引的索引的参数和类型都是任意的,是不受到限制的。

使用reflect反编译器,可以看到C#索引的实质是Set_item、Get_item方法。

7.属性与public字段的区别是什么?

属性可以对设置值、取值进行控制,例如年龄是禁止设置负值的;

字段不可以对值进行控制

8.三次架构的了解?

三层架构即是:将整个业务应用划分为以下三层:表示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)

表示层(UI):展现给用户的界面

业务逻辑层(BLL):对数据层的操作(对业务逻辑的管理)

数据访问层(DAL):直接对数据库进行操作,主要是对数据库中的数据的增、删、改、查等操作

优点:分工明确,条理清晰,易于调试,具有扩展性

9.MVC模式

  MVC(Model View Controler)模型-视图-控制器

MVC是一种典型的平行关系,模型--业务领域的事情   视图--负责显示的事情  控制器--把数据读取出来填充模型后把模型交给视图处理

最大的好处是将逻辑交给处理

10.什么是装箱?什么是拆箱?

装箱:从值类型转换到引用类型

拆箱:从引用类型转换到值类型

Object obj=null;

obj=1;    //装箱

int m=(int)obj;  //拆箱

11.什么叫应用程序域(AppDomain)?

一种边界,它由公共语言运行库围绕统一应用程序范围内的创建的对象建立(即从应用程序的入口点开始,沿着对象激活的序列的任何位置)

12.CTS、CLS、CLR分别做如何解释?

原文地址:https://www.cnblogs.com/songxia/p/3972967.html