非常有用的题库 例: 1:抽象方法仅有声明,而没有任何实现,如abstract someMethod();,虚方法却不能如此 virtual用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。 2:子类继承父类,可以对父类中的虚方法进行重写、覆盖、不处理三种处理(见5),对抽象方法却必须实现 C#是一种广泛使用的面向对象的编程语言,尤其在开发Windows应用程序和Web应用程序中扮演着重要角色。面试中,掌握C#的基本概念和技术是至关重要的。本篇文章将详细解析标题和描述中涉及的知识点。 1. **字符串(String)**: - `String str=new String("a")` 与 `String str = "a"` 的区别在于,前者创建了一个新的字符串对象,即使原始字符串"a"已经存在于内存中,而后者如果内存中存在相同的字符串,它将共享同一个对象。 - 判断字符串是否为空,通常推荐使用 `str.Length == 0`,因为它直接检查字符串的长度,性能最优。 2. **虚方法(virtual)与抽象方法(abstract)**: - 抽象方法在声明时没有实现,如 `abstract someMethod();`,而虚方法可以有实现。 - 子类继承父类时,对于虚方法可以重写、覆盖或不处理,但对于抽象方法必须提供实现。 - 重写(override)是子类对父类虚方法的覆盖,确保调用子类的实现;覆盖(new)则是创建了新的同名方法,调用取决于对象的实际类型。 3. **抽象类(abstract)与接口(interface)**: - 抽象类可以包含方法实现,接口仅包含声明。 - Java和C#中,一个类可以实现多个接口,但只能继承一个抽象类或非抽象类,体现了单继承。 4. **访问修饰符(private, protected, public, internal)**: - `private`:私有成员只能在声明它们的类或结构体内部访问。 - `protected`:受保护成员在类自身及其派生类中可访问,派生类必须通过实例或类型访问。 - `internal`:类型或成员只能在同一程序集内访问。 - `protected internal`:结合了`protected`和`internal`的访问权限,允许在派生类和同一程序集中访问。 5. **ADO.NET组件**: - Connection:表示数据库连接。 - Command:执行SQL命令或存储过程。 - DataReader:提供只进的、只读的数据流。 - DataAdapter:用于填充DataSet并与数据库交互。 - DataSet:内存中的数据集合,可以视为多表的表示。 6. **其他知识点**: - 接口不能有虚方法,但可以包含常量、事件和默认实现(C# 8.0及更高版本)。 - `ExecuteNonQuery`用于执行非查询操作,如插入、更新和删除。 - `ExecuteScalar`返回查询结果的第一行第一列。 - `Fill`用于填充DataSet或DataTable。 - `ExecuteReader`返回DataReader,用于遍历查询结果。 以上就是C#面试题库中涉及的一些关键知识点,深入理解和熟练运用这些概念对于C#程序员来说至关重要。在实际面试中,候选人还需要展示他们如何将这些理论应用到实际编程场景中,以解决具体问题。
剩余63页未读,继续阅读
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0