一、基本数据类型介绍
C#中的基本数据类型包括8种整数类型,2种二进制浮点类型,1种用于金融计算的十进制浮点类型,字符类型型和布尔类型。这些是C#中预定义的数据类型,也是构建其他数据类型的基础数据类型。
二、整数类型
整数类型有:sbyte、byte、short、ushort、int、uint、long、ulong。
不同的整数类型它在计算机的内存所占用的字节数是不相同的,因此它们所能存储的数值范围也是不同的。
三、浮点类型
二进制浮点型有:float、double;十进制浮点类型:decimal。
二进制浮点数的一个注意点是它在计算机存储准确性的问题,例如小数0.1,那么它在计算机中存储的可能是0.0999999、0.1000000001等等,就是一个接近0.1的值。比如说float a = 0.1;,那么,执行 a == 0.1这个条件表达式,结果可能是false的;所以,不能这样来对单精度浮点型大小的判断;但是decimal存储的就是一个准确的小数,decimal a = 9.1,那么在计算机中存储的就是9.1这个浮点数,而不是一个近似值(除非超出了数值范围)。
四、字符类型
字符类型是:char。
字符类型在计算机中是保留2个字节也就是16bit来存储的,其取值范围对应Unicode字符集(Unicode是一个国际性的标准,用来表示大多数语言中的字符)。
为了表示一个字符,需要将字符放到一对单引号中,如‘A’。例如定义一个字符类型的变量并赋值,char a = ‘a’;;有些字符不能直接表示,需要再添加一个反斜杠\,我们把这些叫做转义序列。常用的有:\\【表示输出反斜杠符号】,\',【表示输出单引号】、\"【表示输出双引号】、\0【表示null】、\n【换行】、\r【回车】等等。
五、布尔类型
布尔类型是:bool
布尔类型只有两个值:true和false;用于条件语句和表达式。
布尔类型在计算机中用1byte的空间来存储。
六、基本数据类型的字节、值范围信息
class Program
{
public static void Main(string[] args)
{
Console.WriteLine(char.MinValue);
Console.WriteLine("{0} {1} {2} {3}", "数据类型", "所占字节", "最小值", "最大值");
Console.WriteLine("{0} {1} {2} {3}", typeof(char).Name, sizeof(char), (int)char.MinValue, (int)char.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(sbyte).Name,sizeof(sbyte),sbyte.MinValue,sbyte.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(byte).Name, sizeof(byte), byte.MinValue, byte.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(short).Name, sizeof(short), short.MinValue, short.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(ushort).Name, sizeof(ushort), ushort.MinValue, ushort.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(int).Name, sizeof(int), int.MinValue, int.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(uint).Name, sizeof(uint), uint.MinValue, uint.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(ulong).Name, sizeof(ulong), ulong.MinValue, ulong.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(long).Name, sizeof(long), long.MinValue, long.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(decimal).Name, sizeof(decimal), decimal.MinValue, decimal.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(float).Name, sizeof(float), float.MinValue, float.MaxValue);
Console.WriteLine("{0} {1} {2} {3}", typeof(double).Name, sizeof(double), double.MinValue, double.MaxValue);
Console.ReadLine();
}
}