//static field
using System;
namespace StaticKeyword
{
public class Account
{
public int accno;
public string name;
public static float rateOfInterest = 8.8f;
public Account(int accno,string name)
{
this.accno = accno;
this.name = name;
}
public void display()
{
Console.WriteLine(accno+" "+name+" "+rateOfInterest);
}
}
class Program
{
static void Main(string[] args)
{
Account a1=new Account(101,"Soonoo");
Account a2=new Account(102, "Mahesh");
a1.display();
a2.display();
Console.ReadKey();
}
}
}
//changing static field
using System;
namespace StaticKeyword
{
public class Account
{
public int accno;
public string name;
public static float rateOfInterest = 8.8f;
public Account(int accno,string name)
{
this.accno = accno;
this.name = name;
}
public void display()
{
Console.WriteLine(accno+" "+name+" "+rateOfInterest);
}
}
class Program
{
static void Main(string[] args)
{
Account.rateOfInterest = 55.65f; //we are changing the value of this variable by calling from main method
Account a1=new Account(101,"Soonoo");
Account a2=new Account(102, "Mahesh");
a1.display();
a2.display();
Console.ReadKey();
}
}
}
//changing static field when calling from another field
//without static declaring it is not possible
using System;
namespace StaticKeyword
{
public class Account
{
public int accno;
public string name;
public static int count = 0;
public static float rateOfInterest = 8.8f;
public Account(int accno,string name)
{
this.accno = accno;
this.name = name;
count++;
}
public void display()
{
Console.WriteLine(accno+" "+name+" "+rateOfInterest);
}
}
class Program
{
static void Main(string[] args)
{
Account.rateOfInterest = 55.65f; //we are changing the value of this variable by calling from main method
Account a1=new Account(101,"Soonoo");
Account a2=new Account(102, "Mahesh");
Account a3 = new Account(102, "Jatra");
Account a4 = new Account(102, "Jatra pala");
a1.display();
a2.display();
a3.display();
Console.WriteLine("Total object count here:"+Account.count);
Console.ReadKey();
}
}
}
Static Class Example:
//using static class
//we need object reference where it is clearing up
//it is sealed and cannot be called/instantiated
using System;
namespace StaticKeyword
{
public static class MyMath
{
public static float pi = 3.14f;
public static int cube(int n)
{
return n * n * n;
}
}
class TestMath
{
public static void Main(string[] args)
{
Console.WriteLine("Value of PI is:"+MyMath.pi);
Console.WriteLine("Cube of 3 is:"+MyMath.cube(3));
Console.ReadKey();
}
}
}
Static Constructor:
using System;
public class Account
{
public int id;
public string name;
public static float rateOfInterest;
public Account(int id, string name)
{
this.id = id;
this.name = name;
}
static Account()
{
rateOfInterest = 9.5f;
}
public void display()
{
Console.WriteLine(id+" "+name+" "+rateOfInterest );
}
}
class TestEmployee
{
public static void Main(string[] args)
{
Account a1=new Account(101,"dss");
Account a2=new Account(202,"dssd");
a1.display();
a2.display();
Console.ReadKey();
}
}