C# Program to Illustrate Array of Delegates

«
»

This is a C# Program to illustrate array of delegates.

Problem Description

This C# Program Illustrates Array of Delegates.

Problem Solution

Here an array of delegate is created similar to that of normal declaration of the delegate.

advertisement
Program/Source Code

Here is source code of the C# Program to Illustrate Array of Delegates. The C# program is successfully compiled and executed with Microsoft Visual Studio. The program output is also shown below.

/*
 * C# Program to Illustrate Array of Delegates
 */
using System;
delegate double Measure(double R);
public class Circle
{
    const double PI = 3.14159;
    public double Diameter(double Radius)
    {
        return Radius * 2;
    }
 
    public double Circumference(double Radius)
    {
        return Diameter(Radius) * PI;
    }
 
    public double Area(double Radius)
    {
        return Radius * Radius * PI;
    }
}
public static class Program
{
    static int Main()
    {
        double R = 10;
        Circle circ = new Circle();
        Measure[] Calc = new Measure[3];
        Calc[0] = new Measure(circ.Diameter);
        double D = Calc[0](R);
        Calc[1] = new Measure(circ.Circumference);
        double C = Calc[1](R);
        Calc[2] = new Measure(circ.Area);
        double A = Calc[2](R);
        Console.WriteLine("Diameter:      {0}", D);
        Console.WriteLine("Circumference: {0}", C);
        Console.WriteLine("Area:          {0}\n", A);
        Console.ReadLine();
        return 0;
    }
}
Program Explanation

This C# program is used to illustrate array of delegates. A delegate is a reference type variable that holds the reference to a method. The reference can be changed at runtime. Create an object ‘circ’ variable for circle class.

advertisement

The measure[] variable is an array delegate. An array of a delegate is created similar to that of normal declaration of the delegate. Using measure[] array compute the Diameter, Circumference, and Area procedure and print the values.

Runtime Test Cases
 
Diameter         : 20  
Circumference    : 62.8318
Area             : 314.159

Sanfoundry Global Education & Learning Series – 1000 C# Programs.

advertisement
If you wish to look at all C# Programming examples, go to 1000 C# Programs.

advertisement
advertisement
advertisement
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He is Linux Kernel Developer & SAN Architect and is passionate about competency developments in these areas. He lives in Bangalore and delivers focused training sessions to IT professionals in Linux Kernel, Linux Debugging, Linux Device Drivers, Linux Networking, Linux Storage, Advanced C Programming, SAN Storage Technologies, SCSI Internals & Storage Protocols such as iSCSI & Fiber Channel. Stay connected with him @ LinkedIn