Demonstrate readonly

/*
C#: The Complete Reference
by Herbert Schildt

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/

// Demonstrate readonly.

using System;

class MyClass {
public static readonly int SIZE = 10;
}

public class DemoReadOnly {
public static void Main() {
int[]nums = new int[MyClass.SIZE];

for(int i=0; i

The use of readonly fields


   

/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110
*/

/*
  Example6_3.cs illustrates the use of readonly fields
*/


// declare the Car class
class Car
{

  // declare a readonly field
  public readonly string make;

  // declare a static readonly field
  public static readonly int wheels = 4;

  // define a constructor
  public Car(string make)
  {
    System.Console.WriteLine("Creating a Car object");
    this.make = make;
  }

}


public class Example6_3
{

  public static void Main()
  {

    System.Console.WriteLine("Car.wheels = " + Car.wheels);
    // Car.wheels = 5;  // causes compilation error

    // create a Car object
    Car myCar = new Car("Toyota");

    System.Console.WriteLine("myCar.make = " + myCar.make);
    // myCar.make = "Porsche";  // causes compilation error

  }

}

           
          


ReadOnly Fields

   
 
using System;
using System.Collections.Generic;
using System.Text;

class Tire {
    public static readonly Tire GoodStone = new Tire(90);
    public static readonly Tire FireYear = new Tire(100);

    public int manufactureID;

    public Tire() { }
    public Tire(int ID) { manufactureID = ID; }
}

class Employee {
    public readonly string SSN;

    public Employee(string empSSN) {
        SSN = empSSN;
    }
}

class Program {
    static void Main(string[] args) {
        Tire myTire = Tire.FireYear;
        Console.WriteLine("ID of my tire is: {0}", myTire.manufactureID);

        Employee e = new Employee("111-22-1111");
        // e.SSN = "222-22-2222"; // error!
    }
}

    


User-defined public method

   




using System;

public class MaximumFinder
{
   public void DetermineMaximum()
   {
      Console.WriteLine( "Enter three floating-point values,
 pressing 'Enter' after each one: " );
      double number1 = Convert.ToDouble( Console.ReadLine() );
      double number2 = Convert.ToDouble( Console.ReadLine() );
      double number3 = Convert.ToDouble( Console.ReadLine() );

      double result = Maximum( number1, number2, number3 );

      Console.WriteLine( "Maximum is: " + result );
   }
   public double Maximum( double x, double y, double z )
   {
      double maximumValue = x; 

      if ( y > maximumValue )
         maximumValue = y;

      if ( z > maximumValue )
         maximumValue = z;

      return maximumValue;
   } 
} 
public class MaximumFinderTest
{
   public static void Main( string[] args )
   {
      MaximumFinder maximumFinder = new MaximumFinder();
      maximumFinder.DetermineMaximum();
   }
}

           
          


A public constructor initializes private instance variable balance through public property.

   




using System;

public class Account
{
   private decimal balance; 

   public Account( decimal initialBalance )
   {
      Balance = initialBalance; 
   } 
   public void Credit( decimal amount )
   {
      Balance = Balance + amount; 
   } 
   public decimal Balance
   {
      get
      {
         return balance;
      } 
      set
      {
         if ( value >= 0 )
            balance = value;
      }
   } 
} 

public class AccountTest
{
   public static void Main( string[] args )
   {
      Account account1 = new Account( 5.00M ); 
      Account account2 = new Account( -7.53M ); 

      Console.WriteLine( "account1 balance: {0:C}",account1.Balance ); 
      Console.WriteLine( "account2 balance: {0:C}
",account2.Balance );

      decimal depositAmount; 

      Console.Write( "Enter deposit amount for account1: " );
      depositAmount = Convert.ToDecimal( Console.ReadLine() );
      Console.WriteLine( "adding {0:C} to account1 balance
",depositAmount );
      account1.Credit( depositAmount ); 

      Console.WriteLine( "account1 balance: {0:C}",account1.Balance );
      Console.WriteLine( "account2 balance: {0:C}
",account2.Balance );

      Console.Write( "Enter deposit amount for account2: " );
      depositAmount = Convert.ToDecimal( Console.ReadLine() );
      Console.WriteLine( "adding {0:C} to account2 balance
",depositAmount );
      account2.Credit( depositAmount ); 

      Console.WriteLine( "account1 balance: {0:C}", account1.Balance );
      Console.WriteLine( "account2 balance: {0:C}", account2.Balance );
   }
}


          


MyClass class with a public constructor to initialize the course name.

   



using System;

public class MyClass
{
   private string courseName;

   public MyClass( string name )
   {
      CourseName = name; 
   }
   public string CourseName
   {
      get
      {
         return courseName;
      } 
      set
      {
         courseName = value;
      }
   }

   public void DisplayMessage()
   {
      Console.WriteLine( CourseName );
   } 
} 
public class MyClassTest
{
   public static void Main( string[] args )
   {
      MyClass gradeBook1 = new MyClass("C#" );
      MyClass gradeBook2 = new MyClass("Data Structures" );

      Console.WriteLine( "gradeBook1 course name is: {0}",gradeBook1.CourseName );
      Console.WriteLine( "gradeBook2 course name is: {0}",gradeBook2.CourseName );
   }
} 


           
          


Class declaration with a public method that has a parameter.

   


       

using System;

public class MyClass
{
   public void DisplayMessage( string courseName )
   {
      Console.WriteLine( "Welcome to the grade book for
{0}!",courseName );
   }
}
public class MyClassTest
{
   public static void Main( string[] args )
   {
      MyClass myMyClass = new MyClass();
      Console.WriteLine( "Please enter the course name:" );
      string nameOfCourse = Console.ReadLine(); 
      Console.WriteLine(); 
      myMyClass.DisplayMessage( nameOfCourse );
   } 
}