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.

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);
        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.


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.

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

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