using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _2.数据类型 { class Program { static void Main(string[] args) { // 整数类型 byte myByte = 80; ushort myUShort = 67; int myInt = -99; ulong myULong = 45679788; Console.WriteLine("myByte: {0}", myByte); Console.WriteLine("myUShort: {0}", myUShort); Console.WriteLine("myInt: {0}", myInt); Console.WriteLine("myULong: {0}", myULong); // 浮点类型 /* 因为浮点类型字面值默认为double类型,所以 * 在给float和decimal类型变量赋值时,必须 * 在字面值后面添加后缀。 * float类型变量需添加后缀f或F。 * double类型变量需添加后缀d或D。 * decimal类型变量需添加后缀m或M。 */ float myFloat = 3.14F; double myDouble = 56.4689; decimal myDecimal = 45487.54679796464M; Console.WriteLine("myFloat: {0}", myFloat); Console.WriteLine("myDouble: {0}", myDouble); Console.WriteLine("myDecimal: {0}", myDecimal); // 字符类型 char myChar = ‘A‘; Console.WriteLine("myChar: {0}", myChar); // 布尔类型 bool myBool = true; Console.WriteLine("myBool: {0}", myBool); // object类型 object myObject = 100; Console.WriteLine("myObject Type: {0}, Value: {1}", myObject.GetType(), myObject); // dynamic类型 dynamic myDynamic = ‘A‘; Console.WriteLine("myDynamic Type: {0}, Value: {1}", myDynamic.GetType(), myDynamic); // string类型 string myString = "Hello, World"; Console.WriteLine("myString: {0}", myString); // sizeof方法 // 用法: sizeof(type) Console.WriteLine("int类型占用{0}字节", sizeof(int)); Console.ReadKey(); } } } /** * 一、值类型 * 值类型都是从System.ValueType类中派生出来的。 * (1) 整数类型(默认值为0) * A) 有符号整数类型 * sbyte 别名System.Byte 占用1个字节 * short 别名System.Int16 占用2个字节 * int 别名System.Int32 占用4个字节 * long 别名System.Int64 占用8个字节 * B) 无符号整数类型 * byte 别名System.SByte 占用1个字节 * ushort 别名System.UInt16 占用2个字节 * uint 别名System.UInt32 占用4个字节 * ulong 别名System.UInt64 占用8个字节 * (2) 浮点类型 * float 别名System.Single 占用4个字节 默认值为0.0F * double 别名System.Double 占用8个字节 默认值为0.0D * float和double类型以+/-m*2^e形式表示,m和e的值因类型而异。 * * decimal 别名System.Decimal 占用16个字节 默认值为0.0M * decimal类型以+/-m*10^e形式表示。 * (3) 字符类型(无符号类型),可表示Unicode字符,可存储中文字符。 * char 别名System.Char 占用2个字节 默认值为‘\0‘ * (4) 布尔类型 * bool 别名System.Boolean 布尔值: true和false, 默认值为false * * 二、引用类型 * (1) object类型 * object类型是C#通用类型系统(Common Type System)中所有数据类型的终极基类。 * object类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。 * object类型变量在编译时进行类型检查。 * (2) dynamic类型 * dynamic类型变量可以存储任何类型的值。 * dynamic类型变量在运行时进行类型检查。 * (3) string类型 * string类型允许给变量分配任何字符串,没有长度限制。 * string类型是System.String类的别名。 * * 三、指针类型 * 指针类型变量存储另一种类型的内存地址。 * 声明指针类型语法: * type* identifier; * * 例如: * char* cptr; * int* iptr; * */
时间: 2024-12-21 17:13:42