Maha

Maha

  • NA
  • 0
  • 311.3k

NP70 readonly Keyword

Dec 15 2007 7:11 AM

Hi Guys

 

NP70 readonly Keyword

 

http://www.java2s.com/Code/CSharp/Language-Basics/Demonstratetheuseofreadonlyvariables.htm

 

I got this program from the above website. Reserved Keyword readonly has been used in the program. Program is producing similar output without readonly Keyword. I wish to know in this circumstance what is the purpose of using readonly Keyword.   

 

Anyone knows please explain the reason.

 

Thank you

 

namespace nsReadOnly

{

    using System;

 

    public class ReadOnly

    {

        static double DegreeFactor = 1;

        static double MilFactor = 0.05625;

 

        static public void Main()

        {

            double degrees = 42;

 

            // 1 degree = 17.77778 mils

            double mils = degrees * 17.77778;

 

            // 1 degree = 0.017453 radians

            double radians = degrees * 0.017453;

 

            clsArea InDegrees = new clsArea(DegreeFactor);

 

            InDegrees.Angle = degrees;

            InDegrees.Radius = 50;

 

            Console.WriteLine("Area of circle is {0,0:F1}", InDegrees.Area);

 

            // Radians are the default, so you can use the parameterless

            // constructor

            clsArea InRadians = new clsArea();

 

            InRadians.Angle = radians;

            InRadians.Radius = 50;

 

            Console.WriteLine("Area of circle is {0,0:F1}", InRadians.Area);

 

            clsArea InMils = new clsArea(MilFactor);

 

            InMils.Angle = mils;

            InMils.Radius = 50;

 

            Console.WriteLine("Area of circle is {0,0:F1}", InMils.Area);

        }

    }

    class clsArea

    {

        private const double pi = 3.14159;

        private const double radian = 57.29578;

        private readonly double m_Factor = 1;

        private double m_Angle;

        private double m_Radius;

 

        public clsArea()

        {

        }

        public clsArea(double factor)

        {

            m_Factor = factor / 57.29578;

        }

       

        public double Angle

        {

            get { return (m_Angle); }

            set { m_Angle = value; }

        }

        public double Radius

        {

            get { return (m_Radius); }

            set { m_Radius = value; }

        }

       

        public double Area

        {

            get

            {

                return (m_Radius * m_Radius * pi * m_Angle * m_Factor / (2 * pi));

            }

        }

    }

}

/*

Area of circle is 916.3

Area of circle is 916.3

Area of circle is 916.3

Press any key to continue . . .

*/


Answers (9)