.NET面试精选:面向对象、委托与ASP.NET核心考点

需积分: 0 0 下载量 49 浏览量 更新于2024-07-25 收藏 139KB DOC 举报
"asp.net面试题大全(有答案)和Asp.net面试集合" 这篇资源包含了ASP.NET面试中常被问到的问题及答案,涵盖了.NET框架的基础概念和ASP.NET特性的理解。以下是一些主要的知识点: 1. **面向对象特性**:面向对象编程语言如C#具备三个基本特征,即继承性、封装性和多态性。继承性允许子类继承父类的属性和方法,封装性确保数据的安全性,多态性则提供了多种形态的方法执行。 2. **可遍历对象**:在C#中,如果想要通过`foreach`循环遍历对象,该对象需实现`IEnumerable`接口或声明`GetEnumerator`方法,以便进行迭代。 3. **三元运算符**:C#中的三元运算符是`条件?结果1:结果2`,用于简洁地实现条件判断。 4. **装箱与拆箱**:将值类型(如整型`int`)赋值给`object`类型的变量时,会发生装箱操作,将值类型转换为对象。反之,从`object`类型回转到值类型时则发生拆箱。 5. **访问修饰符**:在C#中,类成员有四种访问形式:`private`(私有)、`protected`(受保护)、`internal`(内部)和`public`(公共),题目中提到的是3种:`private`、`protected`和`public`。 6. **常量与静态**:在C#中,常量(`const`)自动为静态(`static`),因此声明常量时不应同时声明`static`。 7. **浮点数到整数转换**:将`float`类型的`f`强制转换为`int`类型的`i`,会丢失小数部分,因此`i`的值为`-123`。 8. **运算符重载**:如果自定义类型重载了相等运算符`==`,通常也需要重载不等运算符`!=`,并可能需要更新`Equals`和`GetHashCode`方法以保持一致性。 9. **用户控件继承**:在ASP.NET中,自定义用户控件通常继承自`System.Web.UI.UserControl`类,以便能够与其他Web控件交互和嵌入到页面中。 10. **序列化**:在.NET中,可序列化的类通常会被标记为`[Serializable]`,这使得对象的状态可以被保存和恢复。 11. **垃圾回收(GC)**:.NET的托管代码环境提供了垃圾回收机制(GC),自动管理内存,从而避免内存泄漏问题。 12. **抽象与重写**:抽象类(`abstract`)中的抽象方法不能与`override`一起使用,因为抽象方法是不需要实现的,而`override`是重写基类方法,两者冲突。 13. **私有构造函数**:如果类`T`只有私有实例构造函数,那么在`T`的外部无法创建它的实例,也不能从`T`派生新的类。 14. **switch语句**:`switch`语句中的`case`标签必须有明确的值或表达式,不能为空。错误的`default`标签应放在所有`case`之后。 15. **Page类的继承**:在.NET中,`System.Web.UI.Page`类是可以被继承的,这是ASP.NET页面生命周期的基础,允许自定义页面行为。 这些知识点涵盖了.NET基础和ASP.NET Web开发的核心概念,对于准备.NET面试的开发者来说是非常有价值的参考资料。