.Net 面试题整理(一)
1、C# 的三大特性?
封装、担任、多态
2、简述 private、 protected、 public、 internal 修饰符的访谒权限。
private : 私有成员, 在类的内部才可以访谒。
protected : 掩护成员,该类内部和担任类中可以访谒。
public : 大众成员,完全果然,没有访谒限制。
internal: 当前措施集内可以访谒。
3、接口和类的区别
接口:不能实例化,要领也没有具体的实现,被担任时,担任类必需实现接口的所有要领。
类:可以被实例化,被担任时,担任类也不需要从头实现被担任类中的要领。但是如果被担任类的要领中有abstract修饰的,担任类则需要实现这个要领。
4、在东西对照中,东西一致和东西相等分袂是指什么?
东西一致指的是引用不异。东西相等指的是内容相等。
5、ref修饰参数和out修饰参数的区别
ref、out都可以从函数内部传出值,区别是,ref修饰的参数必需先初始化、而out不用
6、C#中String和string有什么区别?
string是C#中的类,String是Framework的类,
如果写的是string,在编译的时候编译器会把他转换为String。所以直接使用String会让编译器少做事情,可以提高一下性能。
在C#中建议使用string,对照切合规范 。
在C#中string是关键字,,而String不是。
7、 const和readonly两者区别?
const:
编译时常量
自己就是静态变量
只能界说根基类型,如int,string等等
在声明的时候必需初始化,且不能改削
readonly:
运行时常量
不是静态变量,如果需要需加上“static”关键字
可以界说一切类型
可以延迟到结构函数初始化
8、public static const int A = 1; 这段代码有错误吗
错误:const 不能被修饰为 static
因为界说为常量(const)后就是静态的(static)
9、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,在return前执行。
10、string str = null 与 string str = "" 的区别
string str = null 是不给他分配内存空间,而 string str = "" 给它分配长度为空字符串的内存空间。
string str = null 没有 string 东西,string str = "" 有一个字符串东西。
11、什么叫做泛型?
泛型就是参数化类型
泛型的感化是减少反复代码
12、什么是反射?
动态获取措施集信息、东西信息。
13、装箱和拆箱
装箱是将值类型转化为引用类型的过程;
拆箱是将引用类型转化为值类型的过程
14、2+5+”8” 得到的功效是什么
从左向右运算,int + string 是 string,所以是 “78”
扩展:”8”+2+5 是”825”,而 “8”+(2+5)是 “87”
15、a=10,b=15,请在不使用第三方变量的情况下,把a、b的值互换
int a = 10; int b = 15; a += b; b = a - b; a -= b; Console.WriteLine("a={0}\r\nb={1}", a, b);
16、现有 1~10 共十个自然数,已随机放入一个有 8 个元素的数组 nums[8]
int[] numbers= { 3, 9, 8, 2, 4, 6, 10, 7 };
要求写出一个尽量简单的方案,找出没有被放入数组的那 2 个数,并打印这 2 个数。
int[] numbers = { 3, 9, 5, 2, 1, 6, 10, 7 }; for (int i = 1; i <= 10; i++) { //通过使用默认的相等对照器确定序列是否包罗指定的元素。 if (!numbers.Contains(i)) { Console.WriteLine(i); } }
17、请编程实现一个冒泡排序算法?
int[] array = { 1, 3, 5, 7, 13, 2, 4, 6, 8, 10 }; for (int i = 0; i < array.Length; i++) { for (int j = 0; j < array.Length - 1 - i; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } Console.WriteLine("冒泡排序"); foreach (var t in array) { Console.WriteLine($"{t}"); }
18、孕育产生一个int数组,长度为100,并向此中随机插入1-100,并且不能反复?
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31653.html