using System; class MainClass { public static void Main() { // First, print out the minimum values Console.WriteLine("System Minimums "); Console.WriteLine("MinSByte {0}", System.SByte.MinValue); Console.WriteLine("MinByte {0}", System.Byte.MinValue); Console.WriteLine("MinInt16 {0}", System.Int16.MinValue); Console.WriteLine("MinUInt16 {0}", System.UInt16.MinValue); Console.WriteLine("MinInt32 {0}", System.Int32.MinValue); Console.WriteLine("MinUInt32 {0}", System.UInt32.MinValue); Console.WriteLine("MinInt64 {0}", System.Int64.MinValue); Console.WriteLine("MinUInt64 {0}", System.UInt64.MinValue); Console.WriteLine("MinChar {0}", System.Char.MinValue); Console.WriteLine("MinSingle {0}", System.Single.MinValue); Console.WriteLine("MinDouble {0}", System.Double.MinValue); // Console.WriteLine( "MinBoolean {0}", System.Boolean.MinValue); Console.WriteLine("MinDecimal {0}", System.Decimal.MinValue); Console.WriteLine(" System Maximums "); Console.WriteLine("MaxSByte {0}", System.SByte.MaxValue); Console.WriteLine("MaxByte {0}", System.Byte.MaxValue); Console.WriteLine("MaxInt16 {0}", System.Int16.MaxValue); Console.WriteLine("MaxUInt16 {0}", System.UInt16.MaxValue); Console.WriteLine("MaxInt32 {0}", System.Int32.MaxValue); Console.WriteLine("MaxUInt32 {0}", System.UInt32.MaxValue); Console.WriteLine("MaxInt64 {0}", System.Int64.MaxValue); Console.WriteLine("MaxUInt64 {0}", System.UInt64.MaxValue); Console.WriteLine("MaxChar {0}", System.Char.MaxValue); Console.WriteLine("MaxSingle {0}", System.Single.MaxValue); Console.WriteLine("MaxDouble {0}", System.Double.MaxValue); Console.WriteLine("MaxDecimal {0}", System.Decimal.MaxValue); } }
Language Basics
method scope variable
using System; class IncDecApp { public static void Foo(int j) { Console.WriteLine("IncDecApp.Foo j = {0}", j); } static void Main(string[] args) { int i = 1; Console.WriteLine("Before Foo(i++) = {0}", i); Foo(i++); Console.WriteLine("After Foo(i++) = {0}", i); Console.WriteLine(); Console.WriteLine("Before Foo(++i) = {0}", i); Foo(++i); Console.WriteLine("After Foo(++i) = {0}", i); } }
Scope class demonstrates instance and local variable scopes.
using System; public class Scope { private int x = 1; public void Begin() { int x = 5; Console.WriteLine(x ); UseLocalVariable(); UseInstanceVariable(); UseLocalVariable(); UseInstanceVariable(); Console.WriteLine(x ); } public void UseLocalVariable() { int x = 25; Console.WriteLine("UseLocalVariable is {0}", x ); x++; Console.WriteLine("before exiting UseLocalVariable is {0}", x ); } public void UseInstanceVariable() { Console.WriteLine( "instance variable x on entering {0} is {1}","method UseInstanceVariable", x ); x *= 10; Console.WriteLine( "instance variable x before exiting {0} is {1}","method UseInstanceVariable", x ); } } public class ScopeTest { public static void Main( string[] args ) { Scope testScope = new Scope(); testScope.Begin(); } }
Scoping in C#.
using System; class MainClass { // Class level x variable static int x = 10; public static void Main() { // Locally defined copy of x int x = 5; int y = x; double z = y + 10.25; int a = (int)z; Console.WriteLine("X = {0} Y = {1} Z = {2}", x, y, z); Console.WriteLine("A = {0}", a); Console.WriteLine("Class Level X = {0}", MainClass.x); } }
Class level Variable scope
/* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794 */ namespace nsScope { using System; public class Scope { int Var = 42; static public void Main () { Scope cls = new Scope(); int Var = 23; Console.WriteLine ("Class variable = " + cls.Var); Console.WriteLine ("Function variable = " + Var); } } }
Variable Scoping and Definite Assignment:Definite Assignment
using System; struct Complex { public Complex(float real, float imaginary) { this.real = real; this.imaginary = imaginary; } public override string ToString() { return(String.Format("({0}, {1})", real, imaginary)); } public float real; public float imaginary; } public class DefiniteAssignment3 { public static void Main() { Complex myNumber1; Complex myNumber2; Complex myNumber3; myNumber1 = new Complex(); Console.WriteLine("Number 1: {0}", myNumber1); myNumber2 = new Complex(5.0F, 4.0F); Console.WriteLine("Number 2: {0}", myNumber2); myNumber3.real = 1.5F; myNumber3.imaginary = 15F; Console.WriteLine("Number 3: {0}", myNumber3); } }
Definite Assignment and Arrays
using System; struct Complex { public Complex(float real, float imaginary) { this.real = real; this.imaginary = imaginary; } public override string ToString() { return(String.Format("({0}, {0})", real, imaginary)); } public float real; public float imaginary; } public class DefiniteAssignmentandArrays { public static void Main() { Complex[] arr = new Complex[10]; Console.WriteLine("Element 5: {0}", arr[5]); // legal } }