C#编程基础与经典问题解析

需积分: 13 0 下载量 14 浏览量 更新于2024-07-26 收藏 53KB DOC 举报
"C#经典题目" 1. `break` 语句用于结束所在循环语句中循环体的一次执行,通常在循环体内如 `for`、`while` 或 `do...while` 中使用,一旦执行 `break`,程序会跳到循环后的下一条语句。 2. 枚举(Enum)是 C# 中的一种值类型,它不是从 System 类继承的,而是直接继承自整型(如 `Int32`)。 3. 在 C# 类中声明的属性(Property)通常具有 `get` 和 `set` 访问器,分别用于获取和设置属性的值。 4. 当你想保留默认的无参构造函数时,可以在类中显式声明它,即使你已经定义了一个带参数的构造函数。 5. 接口(Interface)是 C# 中的一种规范,定义了一组方法签名,但不包含具体实现,用于实现多态和多继承。 6. 在 `switch` 语句中,`case` 关键字后面的表达式必须是常量表达式,如字面量、枚举值或 const 常量。 7. 如果 `while` 循环中没有修改循环条件的语句,可能会导致无限循环。 8. 传入属性的 `SET` 方法的隐含参数名称通常是 `value`。 9. C# 不支持多重继承,但通过接口(Interface)可以实现类似的功能。 10. C# 数组类型是引用类型,所有数组都从 `System.Array` 类继承。 11. 一般将类的构造方法声明为 `public` 访问权限,以便于外部代码创建对象。 12. `virtual` 关键字用于声明虚方法,允许子类重写父类的方法。 13. C# 数组元素的下标从 0 开始。 14. 一个元素类型为 `double` 的 2 行 5 列的二维数组,占用的存储空间是 2 * 5 * 8 = 80 字节(因为 `double` 占8字节)。 15. 参数传递分为值传递和引用传递。 16. 面向对象语言具有封装性、继承性和多态性。 17. 可以用 `foreach` 遍历访问的对象需要实现 `IEnumerable` 接口或声明 `GetEnumerator` 方法的类型。 18. ADO.NET 中的五个主要对象包括 Connection、Command、DataAdapter、DataSet、DataReader。 19. 一般将类的构造方法声明为 `public` 访问权限。 20. C# 中的三元运算符是 `condition ? value_if_true : value_if_false`。 21. 当整数 `a` 赋值给 `object` 对象时,整数 `a` 将会被装箱(Boxing)。 22. 类成员有 4 种可访问形式:`private`、`protected`、`internal` 和 `public`。 23. `public static const int A = 1;` 这段代码有错误,`const` 成员不能是静态的,应改为 `readonly`。 24. `float f = -123.567F; int i = (int)f;` 后 `i` 的值现在是 `-123`,浮点数转换为整数时会进行截断。 25. 声明了 `==` 运算符但未声明 `!=` 是不完整的操作符重载,需要同时声明两者以保持一致性。 26. 委托(Delegate)声明的关键字是 `delegate`。 27. 用 `sealed` 修饰的类不能被其他类继承,是不可继承的类。 28. 在 Asp.NET 中,所有的自定义用户控件都必须继承自 `System.Web.UI.WebControls.WebControl` 或其他 ASP.NET 控件基类。 29. 在 .Net 中所有可序列化的类都被 `[Serializable]` 特性标记。 30. 未完的句子,可能是询问特定的特性和标记,例如 `DataContract` 或 `SerializableAttribute`。