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到shortushortintuintlongulongfloatdoubledecimal的预定义隐式转换。

注意

不能将更大存储范围的非文本数值类型隐式转换为byte。

如:byte z = x + y;

以上的赋值语句将产生一个编译错误,原因是赋值运算符右侧的算术表达式在默认情况下的计算结果为int类型。

若要解决此问题,请使用强制转换:

byte z = (byte)(x + y);

原文地址:https://www.cnblogs.com/binlyzhuo/p/1218154.html