class MainClass { public static void Main() { short x; int y; double z = 0; x = 6; y = 10; z = x + y; System.Console.WriteLine("X = {0} Y = {1} Z = {2}", x, y, z); } }
Language Basics
Demonstrate using statement
/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Demonstrate using statement. using System; using System.IO; public class UsingDemo { public static void Main() { StreamReader sr = new StreamReader("test.txt"); // Use object inside using statement. using(sr) { Console.WriteLine(sr.ReadLine()); sr.Close(); } // Create StreamReader inside the using statement. using(StreamReader sr2 = new StreamReader("test.txt")) { Console.WriteLine(sr2.ReadLine()); sr2.Close(); } } }
This version does not include the using System statement
/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // This version does not include the using System statement. public class ExampleConsoleWriteLine { // A C# program begins with a call to Main(). public static void Main() { // Here, Console.WriteLine is fully qualified. System.Console.WriteLine("A simple C# program."); } }
Compare pointer
// compile with: /unsafe
class CompareOperators
{
unsafe static void Main()
{
int x = 234;
int y = 236;
int* p1 = &x;
int* p2 = &y;
System.Console.WriteLine(p1 < p2); System.Console.WriteLine(p2 < p1); } } [/csharp]
Pointer for struct
// compile with: /unsafe struct Point { public int x, y; } class MainClass12 { unsafe static void Main() { Point pt = new Point(); Point* pp = &pt; pp->x = 123; pp->y = 456; Console.WriteLine("{0} {1}", pt.x, pt.y); } }
Use unsage code to swap two integers
public class TestUnsafeApp { unsafe public static void Swap(int* pi, int* pj) { int tmp = *pi; *pi = *pj; *pj = tmp; } public static void Main(string[] args) { int i = 3; int j = 4; Console.WriteLine("BEFORE: i = {0}, j = {1}", i, j); unsafe { Swap(&i, &j); } Console.WriteLine("AFTER: i = {0}, j = {1}", i, j); } }
mark method as unsafe
class FixedArrayApp
{
unsafe public static void Foo(int* pa)
{
for (int* ip = pa; ip < (pa+5); ip++)
{
Console.Write("{0,-3}", *ip);
}
}
static void Main(string[] args)
{
int[] ia = new int[5]{12,34,56,78,90};
unsafe
{
fixed (int* pa = ia)
{
Foo(pa);
}
}
}
}
[/csharp]