1。4 预定义类型(Predefined types) 

c#提供了一系列预定义类型。它们与c/c++有不少相似的地方。预定义引用类型有object和string。 
object类型是所有其他类型的基础。 

预定义类型包括符号数、无符号数、浮点、布尔、字符和十进制数。符号数有:sbyte、short、 
int和long;无符号数有:byte、ushort、uint和ulong;浮点数有:float和double。 

布尔类型就像一个开关,只有两种状态:true或false。c#对布尔的要求比c/c++严格,与java类似。 
在c#中false不等于0,true也不等于1;false和true都是单独分离出来的一个值。学过c/c++的网友 
都知道:

*/ 
 int i = 0; 
 if (i = 0) { // Bug: 应该是 (i == 0) 
 .... 
 } 
 /* 是没有问题的。但在c#中会引发一个编译错误(error CS0029: Cannot implicitly convert 
 type 'int' to 'bool')。当然,这样牺牲了一点没有必要的灵活性。我们再也不能这样:*/ 
 string str; 
 .... 
 if(str = Console.ReadLine()) { 
   Console.WriteLine("Your comments are: {0}",str); 
 .... 
 /* 而必须:*/ 
 using System; 
 class BoolTest 
 { 
   static void Main() { 
     string str = Console.ReadLine();//也可以:string str; 
     if(str == "")                   //        if((str = Console.ReadLine()) == "") 
       Console.WriteLine("i can't read your comments. Please tell me something! O.K.?"); 
     else 
       Console.WriteLine("Your comments are: {0}",str); 
   } 
 } 
 /*


我抄了一张预定义类型的简表供大家参考。 

Type      Description                                      Examples 

object    The ultimate base type of all other types        object o = new Stack(); 

string    String type; a string is a sequence of           string s = "Hello"; 
          Unicode characters 

sbyte     8-bit signed integral type                       sbyte val = 12; 

short     16-bit signed integral type                      short val = 12; 

int       32-bit signed integral type                      int val = 12; 

long      64-bit signed integral type                      long val1 = 12; 
                                                           long val2 = 34L; 

byte      8-bit unsigned integral type                     byte val1 = 12; 
                                                           byte val2 = 34U; 

ushort    16-bit unsigned integral type                    ushort val1 = 12; 
                                                           ushort val2 = 34U; 

uint      32-bit unsigned integral type                    uint val1 = 12; 
                                                           uint val2 = 34U; 

ulong     64-bit unsigned integral type                    ulong val1 = 12; 
                                                           ulong val2 = 34U; 
                                                           ulong val3 = 56L; 
                                                           ulong val4 = 78UL; 

float     Single-precision floating point type             float value = 1.23F; 

double    Double-precision floating point type             double val1 = 1.23 
                                                           double val2 = 4.56D; 

bool     Boolean type; a bool value is either              bool value = true; 
         true or false 

char     Character type; a char value is a Unicode         char value = 'h'; 
         character 

decimal  Precise decimal type with 28 significant digits   decimal value = 1.23M; 

你也可以自定义自己的预定义类型,可以这样:

*/ 
 using System; 
 struct Digit 
 {...} 
 class Test 
 { 
  static void TestInt() { 
   int a = 1; 
   int b = 2; 
   int c = a + b; 
   Console.WriteLine(c); 
  } 
  static void TestDigit() { 
   Digit a = (Digit) 1; 
   Digit b = (Digit) 2; 
   Digit c = a + b; 
   Console.WriteLine(c); 
  } 
  static void Main() { 
   TestInt(); 
   TestDigit(); 
  } 
 } 
 /*


这一节有点沉闷。:(