C#面试题

1.CLR运行时包含CTS CLS

CTS  通用类型系统   把不同语言的类型统一

CLS 通用语言规范    统一语法等规范

说白了 就是不同语言运行时候  都会进行CTSCLS操作  编译成中间代码,然后运行

2.GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管

理。要请求垃圾收集,可以调用下面的方法之一:

System.gc()

Runtime.getRuntime().gc()

3.结构

public  struct  Stu(){

public  int id;

public string name;

}

调用

Stu  s;

s.id=1;

s.name="xiaomi";

结构是值类型,需要开辟空间,用来保存字段少的时候

4.委托

语法例子:

 1 //声明一个委托
 2   delegate int myDelegateHandler(int a, int b);
 3  //声明一个需要被调用的类
 4     public class A
 5     {
 6 //声明一个需要调用方法
 7         public static int M1(int a, int b)
 8         {
 9             int c = 0;
10             c = a + b;
11             return c;
12         }
13     }
14     //入口类
15     public class B
16     {
17         public static void Main()
18         {
19             //实例一个委托 并指定调用类和方法
20             myDelegateHandler mdh = new myDelegateHandler(A.M1);
21             //调用委托
22             int sum = mdh(2, 2);
23             Console.WriteLine(sum.ToString());
24  
25         }
26     }
委托

通过使用委托你可以实现对方法变化的封装.
打个比方:如果你骑自行车,你需要有骑自行车的方法DriveBike().如果你骑摩托车你需要有骑摩托车的方法.现在你有一个方法DriveMoto.现在你需要定义一个方法,实现你骑(自行车或者摩托车)到某地DriveTo(地点,骑的方式)
骑的方式这里其实就是委托.在使用的时候,如果你是骑自行车你就用DriveBike实例化委托的实例带入DriveTo方法,如果你骑摩托车你就用DriveMoto实例化"骑的方式"这个委托带入DriveTo方法.

原文地址:https://www.cnblogs.com/Alliumhollandicum/p/4023177.html