-
c#中的数据类型
在C++中,bool类型的值可转换为int类型的值,false等效于零值,而true等效于非零值。但是在C#语言中,不存在bool类型与其他类型之间的相互转换。例如,下列if语句在C#中是非法的,而在C++中则是合法的:
int x = 123;
if (x) // 注意:在C#中此语句是错误的
{
printf("x is 非零值.");
}
若要测试int类型的变量,必须将该变量与一个值(例如零)进行显式比较,如下所示:
int x = 123;
if (x != 0) // C#的判断方式
{
Console.Write("The value of x is nonzero.");
}
功能说明:从键盘输入一个字符,然后程序检查输入的字符是否是一个字母。如果输入的字符是字母,则程序检查是大写还是小写。这些检查是使用IsLetter和IsLower(两者均返回bool类型)来执行的。
using System;
public class BoolTest1
{
static void Main()
{
Console.Write("请输入一个字母: ");
char c = (char)Console.Read();
if (Char.IsLower(c))
{
Console.WriteLine("这个字符是小写字母.");
}
else
{
Console.WriteLine("这个字符是大写字母.");
}
}
}
存在从byte到short、ushort、int、uint、long、ulong、float、double或decimal的预定义隐式转换。
注意
不能将更大存储范围的非文本数值类型隐式转换为byte。
如:byte z = x + y;
以上的赋值语句将产生一个编译错误,原因是赋值运算符右侧的算术表达式在默认情况下的计算结果为int类型。
若要解决此问题,请使用强制转换:
byte z = (byte)(x + y);
http://www.cnblogs.com/meceky/archive/2008/06/12/1218154.html