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
This is a C# Program to call math operations using delegates.
This C# Program Calls Math Operations using Delegates.
Here the Delegates are used to encapsulate functions into callable function objects that are used much as function pointers are used in C, C++, and other languages. Like function pointers, delegates enable you to separate a function reference from its implementation, allowing the implementation to exist in a separate module.
Here is source code of the C# Program to Call Math Operations using Delegates. The C# program is successfully compiled and executed with Microsoft Visual Studio. The program output is also shown below.
/* * 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); } }
This C# program is used to call math operations using delegates. A delegate is a reference type variable that holds the reference to a method. The reference can be changed at runtime. Using for loop perform different functions by calling the function using delegate object variable.
Here the Delegates are used to encapsulate functions into callable function objects that are used much as function pointers. Like Function pointers, delegates enable to separate a function reference from its implementation, allowing the implementation to exist in a separate module.
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