当前位置:首页 > Windows程序 > 正文

C#面试题总结

2021-03-25 Windows程序

一、类型与变量

1.C#支持哪几个预定义的值类型?

主要包括五个类型:整数,浮点数,字符型,bool类型以及decimal型(小数型)。其中每一个类型分别有多个内置类型组成。

2.C#支持哪几个预定义的引用类型?

共两个,分别是object类型和sting类型。

3.如何解决装箱和拆箱可能引发的性能问题?

CLR将值类型的数据“包裹”到一个匿名的托管对象中,并将此托管对象的引用放在object类型的变量中,这个过程称之为装箱。拆箱是装箱的逆过程。对于装箱和拆箱对性能影响的解决办法是在程序中大量使用泛型进行替代。

4.何为值类型和引用类型?两者的区别?怎么区分?

值类型实例通常分配在线程的堆栈中,并且不包含任何指向实例数据的指针;而引用类型实例分配在托管堆中,变量保存了实例数据的内存引用。

对两者赋值的区别。

继承结构的区别,引用类型一般都有继承性,值类型是密封的(sealed),因此值类型不能作为其他类型的基类。值类型都继承自System.ValueType,引用类型不是

5.如何理解C#中变量的作用域?

在C#中,,变量的作用域是指可以访问该变量的代码区域。只要变量所属的类在某个作用域内,其成员变量也在该作用域内。局部变量的作用域为声明变量所在的块语句内,或者方法结束的大括号之前的作用域。在for或while语句中声明的变量,只存在于该循环体中。

6.C#中传递参数的方法?

传值,传址,输出参数,数组参数。传值参数无额外的修饰符,传址参数ref修饰,输出参数out修饰,数组参数params修饰。ref修饰的参数在使用之前必须付初值,而out修饰的参数则不必赋初值。

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67086.html