.NET面试必备:C#基础知识与陷阱

需积分: 3 5 下载量 8 浏览量 更新于2024-11-09 收藏 35KB TXT 举报
"C#面试大全包含了.NET框架、C#语法、面向对象、垃圾回收、抽象与重写等多方面的问题,旨在帮助面试者准备C#相关的面试。" 1. .NET框架是Microsoft开发的一个软件框架,其中包含了C#语言的基础运行环境。面试中可能会问到如何理解.NET框架以及它在程序开发中的作用。 2. foreach循环在C#中用于遍历集合,其实现依赖于实现了IEnumerable接口的对象,调用GetEnumerator方法来迭代。面试时可能会考察你对foreach循环内部机制的理解。 3. 在C#中,类的继承是单继承,即一个类只能直接继承自一个父类,但可以实现多个接口,实现多态性。 4. const修饰的变量必须在声明时初始化,并且在编译期间其值就已经确定,不能在运行时改变。public static const int A=1;这样的声明是错误的,const和static不能同时修饰一个字段,应该去掉其中一个。 5. 当将浮点型(float)转换为整型(int)时,会自动舍去小数部分。所以,float f=-123.567F; 转换为int i后,i的值会是-123。 6. C#中的运算符重载允许自定义"=="和"!="的行为,但需要确保重载的方法满足相等性和哈希一致性原则,即如果两个对象相等,它们的哈希码也应该相等。 7. delegate在C#中代表一种类型,用于表示具有特定签名的方法集,是事件处理和回调函数的关键。 8. sealed关键字用于阻止类被进一步继承,使得子类不能继承密封类。 9. Asp.net中的UserControl是一种可重用的自定义控件,它不直接继承自System.Web.UI.Page,而是继承自System.Web.UI.Control,但可以包含多个Page元素。 10. .NET中的序列化是指将对象的状态转换为可存储或可传输的形式,使用[Serializable]特性标记类表明该类可以被序列化。 11. .NET垃圾回收(Garbage Collection, GC)是自动管理内存的过程,它负责识别不再使用的对象并回收其内存空间。 12. abstract和override是C#中用于抽象方法和重写基类方法的关键字。在给定的代码示例中,类B继承自A并定义了一个抽象的F方法,这是抽象类和重写方法的一个实例。 13. 泛型在C#中允许创建类型参数化的类、结构、接口和方法。在T约束中,T要么是已知的引用类型,要么是已知的非引用类型,或者必须从指定的基类派生。 14. switch语句中的case标签如果没有匹配项,则会执行default标签内的代码。在给出的示例中,当i的值为2时,会执行default标签的CaseTwo()。 15. .NET中的System.Web.UI.Page类是ASP.NET应用程序中Web页面的基础,它处理HTTP请求并管理页面生命周期。 选项题解析: 2. (1) 正确答案是B. 一个抽象类不能实例化,但可以有子类实例。 (2) 正确答案是BCE. ExecuteNonQuery用于执行非查询操作,ExecuteScalar返回单个结果,Fill填充数据集,ExecuteReader返回一个数据读取器。 2. 选择题:(1) 正确答案是A. 如果类B实现了接口BC,那么它是B和C的组合。 (2) 正确答案是ABC. 实现IDisposable接口的类通常需要调用Dispose释放资源,Finalize是析构函数,一般由GC调用;using语句是自动处理 Dispose 的方式,Quit 不是标准.NET方法。 这些知识点覆盖了C#编程语言的基础和高级特性,是C#面试中常见的问题。理解和掌握这些内容将有助于提升面试者的技能水平。