初探c#(四)预定义类型

发表于:2007-06-21来源:作者:点击数: 标签:
下一页 1 2 1。4 预定义类型(Predefined types) c#提供了一系列预定义类型。它们与c/c++有不少相似的地方。预定义引用类型有object和string。object类型是所有其他类型的基

下一页 1 2 

   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 converttype '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);
}
}
/*

原文转自:http://www.ltesting.net