泛型笔记
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
delegate T NumberChanger<T>(T n);
namespace ConsoleApp3
{
class Program
{
static void Swap<T>(ref T lhs, ref T rhs)
{
T temp;
temp = lhs;
lhs = rhs;
rhs = temp;
}
static int num = 10;
public static int AddNum(int p)
{
num += p;
return num;
}
public static int MultNum(int q)
{
num *= q;
return num;
}
public static int getNum()
{
return num;
}
static void Main(string[] args)
{
int a = 10;
int b = 200;
NumberChanger<int> nc1 = new NumberChanger<int>(AddNum);
NumberChanger<int> nc2 = new NumberChanger<int>(MultNum);
NumberChanger<int> nc3 = new NumberChanger<int>(AddNum);
nc1(25);
Console.WriteLine("Value of Num:{0}", getNum());
nc2(5);
Console.WriteLine("Value of Num:{0}", getNum());
nc3(100);
Console.WriteLine("Value of Num:{0}", getNum());
Console.WriteLine("a={0},b={1}", a,b);
Swap<int>(ref a, ref b);
Console.WriteLine("a={0},b={1}", a, b);
Console.ReadKey();
}
}
}