c#基础内容:泛型、线程、委托、流
一、委托:
1.自定义委托:
// 1. 声明委托
public delegate int Mydeletate(int a, int b);
// 2. 定义方法
public int Add(int a, int b) { return a + b; }
// 3. 创建实例
Mydelegate m = Add; // 调用
m(10, 20); // 30
2.内置泛型委托:
(1)Action<>
//省略public delegate int Mydeletate(int a, int b);
// 1. 定义方法
public void Print(string mess) { Console.WriteLine(mess); }
//2.使用自带委托类型
Action<string> act = Print; act(“hello”);
(2)Func<参数,返回类型>
//使用lamada
Func<int, int, int> add = (a,b)=>{return a + b};
3.多播:
//创建方法
public void Print1(string message) { Console.WriteLine(message ); }
public void Print2(string message) { Console.WriteLine(message ); }
//初始化 Action<string> act = null;
// 添加方法 act+= Print1; act+= Print2;
// 调用:Print1 -> Print2 act("Hello");
// 移除方法 act-= Print1;
4.回调:将委托类型作为参数。
// 1. 定义方法 public int Add(int a, int b) { return a + b; }
// 2.创建回调函数, public int Callback(Func<int,int,int> act,int a,int b) { return act(a,b); }
// 3.使用 Callback(Add,a,b);
