C#语法学习-数据类型

C# 数据类型

在 C# 中,变量分为以下几种类型:

  • 值类型(Value types)
  • 引用类型(Reference types)
  • 指针类型(Pointer types)
  • 值类型(Value types)

    值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的

    值类型直接包含数据。比如 int、char、float,它们分别存储数字、字符、浮点数。当您声明一个 int 类型时,系统分配内存来存储值。

    值类型的特点:
    • 1.不能从值类型派生新类型,但可以结构实现接口;

    •  2.值类型不能包含 null 值;

    • 3.每个值类型都具有一个初始化该类型的默认值的隐式默认构造函数

  • 下表列出了 C# 2010 中可用的值类型:
  • 类型描述范围默认值
    bool布尔值True 或 FalseFalse
    byte8 位无符号整数0 到 2550
    char16 位 Unicode 字符U +0000 到 U +ffff'\0'
    decimal128 位精确的十进制值,28-29 有效位数(-7.9 x 1028 到 7.9 x 1028) / 100 到 280.0M
    double64 位双精度浮点型(+/-)5.0 x 10-324 到 (+/-)1.7 x 103080.0D
    float32 位单精度浮点型-3.4 x 1038 到 + 3.4 x 10380.0F
    int32 位有符号整数类型-2,147,483,648 到 2,147,483,6470
    long64 位有符号整数类型-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070L
    sbyte8 位有符号整数类型-128 到 1270
    short16 位有符号整数类型-32,768 到 32,7670
    uint32 位无符号整数类型0 到 4,294,967,2950
    ulong64 位无符号整数类型0 到 18,446,744,073,709,551,6150
    ushort16 位无符号整数类型0 到 65,5350

    如需得到一个类型或一个变量在特定平台上的准确尺寸,可以使用 sizeof 方法。表达式 sizeof(type) 产生以字节为单位存储对象或类型的存储尺寸。下面举例获取任何机器上 int 类型的存储尺寸。

  • 引用类型(Reference types)

    引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。

    换句话说,它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。内置的 引用类型有:objectdynamic 和 string

    对象(Object)类型

    对象(Object)类型 是 C# 通用类型系统(Common Type System - CTS)中所有数据类型的终极基类。Object 是 System.Object 类的别名。所以对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。但是,在分配值之前,需要先进行类型转换。

    当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值