整数
sbyte System.Sbyte -128~127 有符号8位值 非CLR相容
byte System.Byte 0~255 无符号8位值
short System.Int16 -32768~32767 有符号16位值
ushort System.UInt16 0~65535 无符号16位值 非CLR相容
int System.Int32 -2147483648~2147483647 有符号32位值
uint System.UInt32 0~4294967295 无符号32位值 非CLR相容
long System.Int64 -9223372036854775808~9223372036854775
807 有符号64位值
ulong System.UInt64 0~18446744073709551615 无符号64位值 非CLR相容
任何整数类型赋予16进制值需添加0x
如果对一个整数值没有任何显式的声明,则该变量默认为int类型。
为了把输入的值指定为其他整数类型,可以在数字后面加上如下字符:
uint ui = 1234U
long l = 1234L
ulong ul = 1234UL
也可以使用小写字母 u和 l,但后者会与整数 1混淆。
浮点
float System.Single ±1.5×10^-45~±3.4×10^38 七位 32位浮点值
double System.Double ±5.0×10^-324~±1.7×10^308 十五/十六位 64位浮点值
如果对一个非整数值没有任何显式的声明,则该变量默认为double类型。
为了把输入的值指定为其他整数类型,可以在数字后面加上F或f:
float f = 12.3f
decimal System.Decimal ±1.0×10^-28~±7.9×10^28 二十八位 128位高精度浮点值 1位符号96位值本身8位比例因子(10的幂)其余未使用 非CLR基元类型
要把数字指定为decimal类型,可以在数字的后面加上字符 M(或m) ,如下所示。
decimal d = 12.30M
bool
bool System.Boolean -128~127 true或false bool值和整数值不能相互隐式转换
字符
char System.Char 16位Unicode字符 与byte需要显式转换
string System.String Unicode字符串 引用类型
char类 型的字面量是用单引号括起来的,如’A’。还可以用 4位十六进制的Unicode(如’\u0041′)、 带有数
据类型转换的整数值(如(char)65或十六进制数(‘\x0041’))表示它们。它们还可以用转义序列表示。
预定义的引用类型
object System.Object 所有类型的基类型
dynamic System.Object 对于CLR相当于object,C#中允许参与动态调度