C#笔试题集:基础到高级,面试Unity必备

需积分: 10 4 下载量 13 浏览量 更新于2024-09-09 收藏 100KB DOC 举报
本文档主要汇总了C#编程语言的基础面试题及其答案,涵盖了基础类型大小、数组和结构体的定义、使用和特性,以及类、静态类、静态成员、委托和事件等相关概念。以下是对这些知识点的详细解析: 1. **基础类型大小**:C#中,整型变量如`int`占用4个字节,布尔类型`bool`占用1个字节,长整型`long`占用8个字节,字符类型`char`占用1个字节。选项D错误,因为`char`实际上是一个字节。 2. **数组定义**:数组的定义有误在于选项C,正确的数组声明应该是`int[] numbers = new int[2]`或`int[][] numbers = new int[2][3]`,但两维数组的声明不是单层方括号。 3. **数组理解**:数组的内存通常分配在栈中,索引从0开始,且数组由相同类型的元素组成,选项D错误,因为数组通常是线性的,而不是交错的。 4. **结构体与类**:结构体的字段如果不声明为`const`或`static`,则必须在声明时初始化。结构体没有默认构造函数或析构函数,不能继承其他类型,选项D错误,结构体是值类型。 5. **结构体与类区别**:结构体与类的主要区别包括:结构体是值类型,类是引用类型;结构体可以声明构造函数;结构体继承自`System.ValueType`,但不能继承接口,选项B错误。 6. **类和结构体**:类实例化需要`new`关键字,而结构体可以省略,结构体的内存也可以分配在栈上,选项C错误。结构体可以为null。 7. **静态类**:静态类不能实例化,只包含静态成员,且不能包含非静态成员,选项C错误,静态类是密封的,意味着不能从外部扩展或继承。 8. **静态成员**:静态成员不能通过类的实例访问,只能通过类名直接调用,选项A错误。静态方法可以重载但不能被重写,静态成员在编译时初始化。 9. **委托**:委托是引用类型,用于存储方法引用,选项D错误,委托不是事件的唯一表示形式。 10. **委托使用**:委托声明后,可以通过赋值或创建新实例的方式将方法绑定,选项C错误,正确订阅方式是`Deld = DoWork`或`Deld = new Del(DoWork)`。 这份文档对C#基础概念进行了系统性整理,对于准备面试或者深入理解C#编程的同学来说,是宝贵的复习资料。