59 lines
1.3 KiB
Plaintext
59 lines
1.3 KiB
Plaintext
/*
|
|
* C# Program to Call Math Operations using Delegates
|
|
*/
|
|
|
|
using System;
|
|
public class MathOperations
|
|
{
|
|
public static double Multiply(double value)
|
|
{
|
|
return value * 2;
|
|
}
|
|
|
|
public static double Square(double value)
|
|
{
|
|
return value * value;
|
|
}
|
|
}
|
|
|
|
|
|
delegate double DoubleOp(double x);
|
|
|
|
class Application
|
|
{
|
|
static void Main()
|
|
{
|
|
DoubleOp[] operations =
|
|
{
|
|
MathOperations.Multiply,
|
|
MathOperations.Square
|
|
};
|
|
for (int i = 0; i < operations.Length; i++)
|
|
{
|
|
Console.WriteLine("Operation[{0}]:", i);
|
|
ProcessAndDisplayNumber(operations[i], 5.0);
|
|
ProcessAndDisplayNumber(operations[i], 13.55);
|
|
ProcessAndDisplayNumber(operations[i], 1.732);
|
|
Console.WriteLine();
|
|
}
|
|
Console.ReadLine();
|
|
}
|
|
|
|
static void ProcessAndDisplayNumber(DoubleOp action, double value)
|
|
{
|
|
double result = action(value);
|
|
Console.WriteLine(
|
|
"Value : {0} Result : {1}", value, result);
|
|
}
|
|
}
|
|
/*
|
|
|
|
Operation[0]:
|
|
Value : 5 Result : 10
|
|
Value : 13.55 Result : 27.1
|
|
Value : 1.732 Result : 3.464
|
|
|
|
Operation[1]:
|
|
Value : 5 Result : 25
|
|
Value : 13.55 Result : 183.6025
|
|
Value : 1.732 Result : 2.999824 |