.Net面试题大全

.Net面试题大全1、简述 private、 protected、 public、 internal 修饰符的访问权限。
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以

1. 简单解释一下private、protected、public、internal修饰符访问权限。

private : 私有成员只能在类内部访问。

受保护: 受保护成员。可在此类和继承类中访问。

public : 公共会员,完全公开,无访问限制。

inside: 可在当前程序集中访问。

2. ADO.NET的5个关键对象

Connections:主要是打开程序和数据库之间的连接。除非使用连接对象打开数据库,否则无法从数据库检索数据。 Close和Dispose的区别是Close后可以打开,但Dispose后就不能使用了。

命令:主要用于向数据库发出指令,例如查询、添加、修改、删除数据,或者调用数据库内的存储过程。该对象构建在Connection 对象之上。也就是说,Command 对象连接到数据源。

DataAdapter:主要执行数据源和DataSet之间的数据传输,可以通过Command对象发出命令并将检索到的数据放入DataSet对象中。该对象基于Command 对象,并提供许多与DataSet 一起使用的函数。

DataSet:该对象保存从数据库查询到的数据,可以将其视为临时存储区域(缓存),允许您查看位于内存中的整个数据库。 DataSet除了存储多个表之外,还可以通过DataAdapter对象捕获主键等数据表结构以及记录数据表之间的关系。 DataSet 对象可以说是ADO.NET 中最重的对象。该对象构建在DataAdapter 对象之上,并且不具备与数据源通信的能力。即,使用DataAdapter 对象作为DataSet。使用对象在数据源和DataAdapter 对象桥之间传输数据。一个DataSet包含多个DataTable,一个DataTableTable包含多个DataRow。

DataReader:如果您只需要顺序读取数据而不执行任何其他操作,则可以使用DataReader 对象。 DataReader 对象只是从数据源向下按顺序一一读取数据。数据存储在数据库服务器上,并且永远不会一次全部加载到程序的内存中。这些数据是只读的,不允许进行其他操作。 DataReader 在读取数据时一次只能读取一项,并且是只读的,这使得它非常高效并且节省资源。使用DataReader 对象不仅可以提高效率,还可以通过不必发回所有数据来减少网络负载。

ADO.NET使用Connection对象连接到数据库,使用Command或DataAdapter对象执行SQL语句,将结果返回给DataReader或DataAdapter,并使用获得的DataReader或DataAdapter对象执行SQL语句。结果。

3.列出一些在ASP.NET页面之间传递值的方法。

使用查询字符串,例如1.id=1; 响应。

2.使用会话变量

3.使用Server.Transfer

4.Cookie传值

4. C#中的委托是什么?是事件委托吗?事件和委托之间的关系。

委托可以将一种方法替换为另一种方法作为参数。

委托可以理解为指向函数的指针。

委托和事件之间没有比较,因为委托是类型,而事件是对象。委托对象(由委托实现的事件)和事件(由标准事件方法实现)的区别如下:事件是使用委托在内部实现的。对于事件来说,外界只能“注册+=,取消注册-=”,外界无法取消其他注册者,外界也无法主动触发事件,无法使用Delegate进行上述控制。于是,事件语法就诞生了。事件用于阉割委托实例,类似于使用自定义类阉割列表的方式。事件只能自行添加和删除,但不能赋值。事件中只能使用+=、-=。=是不允许的。附加点的附加答案:事件内部有一个私有委托和两个方法(添加和删除)。

5. 超控与过载的区别

重载是具有相同名称的方法。不同的参数或参数类型会被多次重载,以满足不同的需求。重载是一个面向过程的概念。

重写意味着重写基类中的函数。重写是一个面向对象的概念

6. C# 中的索引器只能基于数字进行索引吗?是否允许使用多个索引器参数?

参数的数量和类型是任意的。对附加点的附加回答:如果使用反射器反编译,您将看到索引器的内部本质上是set_item 和get_item 方法。

基础知识:

索引语法:

public string this[string s],定义通过get和set块检索和赋值的逻辑

一个索引可以包含多个参数和任何参数类型。

索引可以重新加载。

如果只有get 没有set ,那么它是只读索引。

索引实际上是两个方法:set_Item 和get_Item。

7. 属性和公共字段有什么区别?

调用set方法设置属性的值,然后使用get方法读取该值。必须是一个设定值吗?

属性可以控制非法值的设置和获取过程。例如,年龄禁止使用负值,但不能这样设置该字段。通常,用get读取的值是用set设置的值,但在极端情况下,用get读取的值可能是除用set设置的值之外的值。公共年龄{get{return 100;}set{}}。附加点的附加答案:如果使用反射器反编译,您将看到内部属性本质上是set_*** 和get_*** 方法。

8、三层架构

通常意义上的三层架构将整个业务应用分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。

区分层次的目的是“高内聚、低内聚”的思想。

表现

以上#.Net面试题相关内容摘自网络,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92882.html

(0)
CSDN's avatarCSDN
上一篇 2024年7月4日 下午4:33
下一篇 2024年7月4日 下午4:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注