C# .NET面试精华:面向对象特性及ADO.NET对象详解
需积分: 3 162 浏览量
更新于2024-07-28
收藏 468KB DOC 举报
本文档是一份针对C# .NET语言的面试题集,涵盖了面向对象编程的基础概念、ADO.NET的核心组件、访问权限控制、SQL查询以及ASP.NET页面间的数据传递等重要知识点。以下是详细解析:
1. **面向对象特性**
面向对象语言C#具有封装性(Encapsulation)、继承性(Inheritance)和多态性(Polymorphism)。封装性指的是将数据和操作这些数据的方法组合在一起,以保护数据的安全性;继承性允许子类继承父类的属性和行为,提高了代码复用性;多态性则允许不同的对象对同一消息做出不同的响应,增强了代码的灵活性。
2. **foreach遍历接口或方法**
在C#中,能用foreach遍历访问的对象通常需要实现`IEnumerable`接口或者声明`GetEnumerator()`方法,因为这些接口定义了序列化的遍历操作。
3. **ADO.NET主要对象**
ADO.NET中的五个主要对象包括:
- `SqlConnection`:用于建立到数据库的连接,是所有其他数据库操作的基础。
- `SqlCommand`:表示数据库中的SQL命令,用于执行查询、插入、更新和删除操作。
- `SqlDataReader`:用于从数据源逐行读取数据,一次只能读取一行,非持久性。
- ` SqlDataAdapter`:适配器类,用于填充`DataSet`或直接操作数据库,支持CRUD操作。
- `DataSet`:内存中的数据集合,类似数据库表,可用来存储和处理来自不同数据源的数据。
4. **访问修饰符**
- `private`:限制成员只能在所在类内部访问。
- `protected`:仅限于所在类及其派生类的成员访问。
- `public`:任何地方的代码都可以访问。
- `internal`:在同一命名空间内的类可以访问,跨命名空间的访问受限。
5. **SQL查询示例**
一条SQL语句,假设表A的ID为自动增长的整数类型,用于取第31到第40条记录(不考虑ID是否连续):
```sql
SELECT * FROM TableA WHERE ID >= 31 AND ID <= 40
```
6. **ASP.NET页面间数据传递**
ASP.NET页面间传递值的方式有:
- QueryString:通过URL参数传递。
- Session:存储在服务器端的会话变量,适用于状态管理。
- Cookies:小型数据存储在客户端浏览器上。
-ViewState:保存在服务器上的视图状态,适用于单个页面。
- PostBack和PostBackEventReference:用于WebForms中页面间控件的事件触发和数据传递。
7. **`Class1`示例程序输出结果**
- `Add(i1)` 和 `AddWithRef(ref i1)` 两个方法都会增加 `i1` 的值,但 `Add` 是非静态方法,作用于类实例 `c` 的 `i` 属性,而 `AddWithRef` 是静态方法,作用于全局变量 `i1`。因此,`Add(i1)` 会增加 `c.i`,`AddWithRef(ref i1)` 会增加 `i1`。`StringConvert` 方法改变了 `str` 和 `c.str` 的值,`Main` 方法的输出取决于最后 `i1` 和 `str` 的值。
这份面试题集提供了全面的C# .NET知识点覆盖,适合准备求职的毕业生深入学习和准备面试。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2008-10-13 上传
2013-08-14 上传
2009-03-14 上传
2010-09-26 上传
2017-01-03 上传
2013-07-24 上传
一个热爱java的程序员
- 粉丝: 1
- 资源: 67