C#笔试精华:面向对象特性与ADO.NET对象详解

需积分: 9 12 下载量 127 浏览量 更新于2024-07-30 收藏 82KB DOC 举报
C#和SQL笔试题涵盖了C#编程语言的关键概念和SQL数据库操作的实践理解。以下是针对这部分内容的详细解析: 1. 面向对象特性: C#作为面向对象的语言,强调了三大核心特性:**继承性**允许子类继承父类的属性和方法,增强了代码复用;**封装性**使得数据和行为紧密结合,通过访问修饰符(如private, protected, public, internal)控制对外可见度;**多态性**是指同一方法名可以在不同类中有不同的实现,提高了灵活性。 2. foreach循环与接口: foreach语句用于遍历实现了**IEnumerable**接口或提供了**GetEnumerator()**方法的对象。这样设计确保了遍历的统一性和安全性,无论对象的具体类型如何,只要符合这个规范,都可以正确处理。 3. ADO.NET主要对象: ADO.NET是.NET框架的一部分,用于数据库操作。主要涉及的对象包括: - SqlConnection:连接数据库的基类,用于建立和管理数据库连接。 - SqlCommand:执行SQL命令的对象,封装了SQL查询、更新等操作。 - SqlDataReader:用于逐行读取查询结果的接口,通常配合SqlCommand使用。 - SqlDataAdapter:用于填充DataSet或DataTable,支持数据的获取和更新操作。 - Dataset或DataTable:存储数据的结构化对象,方便数据操作和管理。 4. SQL查询示例及访问权限: - 解决问题:使用子查询和排除法,SQL语句如`SELECT TOP 10 * FROM A WHERE id > (SELECT MAX(id) FROM (SELECT TOP 30 id FROM A) AS A)`,避免了直接取第31到40条记录可能存在的ID不连续问题。 - 访问权限说明:private表示只在类内部访问,protected在类内部和继承类中可用,public全范围可见,而internal则限于同一命名空间内的其他类。 5. ASP.NET页面间值传递: ASP.NET提供了多种方式来传递数据: - QueryString:将参数附加到URL后,如`.aspx?id=1`,然后通过`Response.Redirect()`进行跳转。 - Session变量:在用户会话期间存储数据,适用于需要跨请求保持状态的情况。 - Server.Transfer:直接将请求转发到指定页面,保留当前页面的部分状态信息。 6. 类与方法的实例: - 在类`Class1`中,`private`修饰的`str`和`i`变量只能在类内部访问,`static`修饰的方法`StringConvert`可用于类级别的操作。`StringConvert`方法接受一个字符串参数,但试图修改类的私有字段`str`,这在静态方法中是不允许的,因为静态方法没有对实例的引用。 以上知识点展示了C#语言的基础特性和SQL数据库操作,以及在Web开发中常见的页面间数据传递方式。在实际的笔试中,这些问题考察了应聘者的编程基础、面向对象编程理解和数据库操作能力。