• C#数据类型


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

    1 值类型

    2 引用类型

    一 值类型

    值类型是从类System.ValueType中派生。值类型的变量直接包含数据,每个变量都有自己的数据副本,因此对一个变量执行的运算不会影响另一个变量(ref和out参数变量除外)。

    值类型细分为一下类型

    1 简单类型

      有符号整型:sbyte、short、int、long

      无符号整型:byte、ushort、uint、ulong

      Unicode字符:char

      IEEE二进制浮点:float、double

      高精度十进制浮点数:decimal

      布尔:bool

    2 枚举类型:enum

    3 结构类型:struct

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

    Console.WriteLine("Size of int: {0}", sizeof(int));
    Console.ReadLine();

    输出结果

    Size of int: 4

    二 引用类型

    引用类型的变量存储对数据的引用。

    多个引用类型变量可以引用同一数据对象。因此,对一个变量执行运算会影响其它变量。

    引用类型细分为一下类型

    1 object类型

    object是所有类型的基类。

    类型检查在编译时发生。

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

    object obj;
    obj = 100; // 装箱
    int i;
    i = (int)obj; // 拆箱

    2 dynamic类型

    可以存储任何类型的值在dynamic类型变量中。不能直接对其实例化。

    类型检查在运行时发生。

    例如:

    dynamic d = 100;

    3 String类型

    string类型是从object类型派生的,可以用引号或@引号赋值。

    string字符串的前面加@(“逐字字符串”)将转义字符

    例如:

    string str = "C:\Windows";

    等价于

    string str = @"C:Windows";

    4 用户自定义类型

    有class、interface、delegate等。

    四 值类型和引用类型的区别

    1 值类型在栈中存储数据;引用类型在栈中存储数据的地址,数据存储在堆中。

    2 赋值时,值类型复制的的是数据;引用类型复制的的是数据的地址。

    3 值类型不可以为null;引用类型可以为null。

    例如:

    int i = 1;
    int i2 = i;  // 复制数据
    i2 = 2;
    Console.WriteLine(i);
    Console.WriteLine(i2);
    object obj = 10;
    object obj2 = obj; // 复制地址
    obj2 = 20;
    Console.WriteLine(obj);
    Console.WriteLine(obj2);
    Console.ReadLine();

    输出结果:

    1
    2
    20
    20
  • 相关阅读:
    js禁用回退键
    css和js引用图片路径
    js 文字横向滚动
    数组转换
    Vbox共享串口
    office2003 打开docx文件
    注销退出客户点击回退怎么办
    vs2010 安装mvc3
    修改头像
    iis发布网站局域网无法访问
  • 原文地址:https://www.cnblogs.com/yakblog/p/12561533.html
Copyright © 2020-2023  润新知