StaticField.cs
public class StaticField
{
static int i; // uninitialized
public static void Main()
{
// access static field from a static context, Main():
System.Console.WriteLine("i = " + i);
System.Console.WriteLine("StaticField.i = " + StaticField.i);
StaticField sf1 = new StaticField();
StaticField sf2 = new StaticField();
// System.Console.WriteLine("sf1.i = " + sf1.i); // compile errors
// System.Console.WriteLine("sf2.i = " + sf2.i);
// System.Console.WriteLine("new StaticField().i = " + new StaticField().i);
i = 1;
System.Console.WriteLine("i = " + i);
System.Console.WriteLine("StaticField.i = " + StaticField.i);
StaticField.i = 2;
System.Console.WriteLine("i = " + i);
System.Console.WriteLine("StaticField.i = " + StaticField.i);
}
}
/*
mcs StaticField.cs
// 2 warnings: sf1, sf2 not used
mono StaticField.exe
i = 0
StaticField.i = 0
i = 1
StaticField.i = 1
i = 2
StaticField.i = 2
*/
Comments
Post a Comment