泛型方法及委托1

using System;

namespace 泛型方法
{
delegate double Doubleop(double x);
class Program
{
static void Main(string[] args)
{
//Console.WriteLine("Hello World!");
//int i = 4;
//int j = 5;
//Swaps<int>(ref i, ref j);
//Console.ReadKey();


Doubleop[] operations = { MathOperations.MultiplyByTwo, MathOperations.Squatr };
for (int i = 0; i < operations.Length; i++)
{
Console.WriteLine("Using operations[{0}]",i);
ProcessAndDisplayNumber(operations[i], 2.0);
ProcessAndDisplayNumber(operations[i], 7.94);
ProcessAndDisplayNumber(operations[i], 1.414);
Console.WriteLine();

}
Console.WriteLine(operations[0].Invoke(3.0));
Console.WriteLine(operations[1].Invoke(5.0));

}
static void ProcessAndDisplayNumber(Doubleop action, double value)
{
double result = action(value);
Console.WriteLine("value is {0},result of operation is {1}", value, result); ;
}
//public static void Swaps<T>(ref T x, ref T y)
//{
// T temp;
// temp = x;
// x = y;
// y = temp;

//}

}

class MathOperations
{
public static double MultiplyByTwo(double value)
{
return value * 2;

}
public static double Squatr(double value)
{
return value * value;

}

}

}

猜你喜欢

转载自www.cnblogs.com/zwzfwjy/p/12119761.html