简答题五道
第一题
- 请列出c#中几种循环的方法,并指出他们的不同。
① while循环
while循环通常用于不确定的循环次数时去使用它 。
② do…while循环
功能上和while基本类似,不同之处它保证了循环至少执行一次。
③ for 循环
for循环主要用于循环次数固定的循环。
④ foreach循环
是一种十分高效的循环,主要用来遍历IEnumerable的容器类型,比如ArrayList、List等都可以使用。 - 属性和public字段的区别是什么?
属性可以对设值、取值的过程进行非法值控制,比如年龄禁止设值负数,而字段则不能进行这样的设置。虽然一般情况下get读取的值就是set设置的值,但是可以让get读取的值不是set设置的值的。 - 类(class)与结构(struct)的异同?
Class可以被实例化,属于引用类型,是分配在内存的堆上的;
Struct属于值类型,是分配在内存的栈上的 。 - 值类型和引用类型的区别?
1.值类型存储的是数值,引用类型存储的是地址。
2.值类型存放在栈中,引用类型存放在堆中。
3.值类型不可以是null,引用类型可以使null。
4.值类型不具有多态性,引用类型具有多态性。
5.值类型没有继承性,引用类型有继承性。
6.值类型有装箱与未装箱,引用类型只有装箱。 - 接口和类有什么异同?
不同点:
不能直接实例化接口。
接口不包含方法的实现。
接口可以多继承,类只能单继承。
类定义可在不同的源文件之间进行拆分。
相同点:
接口、类和结构都可以从多个接口继承。
接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。
接口和类都可以包含事件、索引器、方法和属性。