zoukankan      html  css  js  c++  java
  • 类型(值类型和引用类型)

    值类型存储的是直接包含他们的数据,引用类型存储的是对于对象的引用。值类型存储于堆栈上,引用类型存储于托管堆上,由gc控制回收(当实例大小小于85000字节时在gc堆上,大于850000字节在loh堆上)。

    值类型有:数值类型:int,float,char。。。。

    struct结构类型,enum枚举类型,可空类型,bool类型

    引用类型有:string(String的别名)类型,类class类型,interface接口,delegate委托类型,数组类型(array),object对象类型

    嵌套类型:

    1.引用类型中包含了值类型:实例化引用类型,引用类型分配在堆栈上,值类型分配在托管堆中。

    2.值类型包含引用类型:实例化值类型,值类型保存在堆栈上,引用类型分配在托管堆中

    自己测试的代码:

    // class DataTypeAndRefType
    // {
    // public int value = 0;
    // }
    // class test
    // {
    // static void Main()
    // {
    // int val1 = 0;
    // int val2 = val1;
    // val2 = 123;
    // DataTypeAndRefType ref1=new DataTypeAndRefType();
    // DataTypeAndRefType ref2 =ref1;
    // ref2.value = 123;
    // Console.WriteLine("{0},{1}",val1,val2);
    // Console.WriteLine("{0},{1}",ref1.value,ref2.value);
    // Console.Read();
    // }
    //}

    测试常用类型:

    class AllType
    {
    public enum color
    {
    red, bule, green
    }
    public struct point
    {
    public int x, y;
    }
    public interface ibase
    {
    void f();
    }
    public interface iderived : ibase
    {
    void g();
    }
    public class a
    {
    public void h()
    {
    Console.WriteLine("a.h");
    }
    }
    public class b : a, iderived
    {
    public void f() {
    Console.WriteLine("b.f impl of iderived.f");
    }
    public void g()
    {
    Console.WriteLine("b.g impl of ibase.g");
    }
    new public void h()
    {
    Console.WriteLine("b.h override of a.h");
    }
    }
    public delegate void emptydelegate();
    static void Main()
    {
    b bb = new b();
    bb.f();
    bb.g();
    bb.h();
    a aa = new a();
    aa.h();
    Console.Read();
    }

    }

    详见https://www.cnblogs.com/zxtceq/p/5219834.html

  • 相关阅读:
    洛谷P1043数字游戏
    luogu P1330 封锁阳光大学
    luoguP1242 新汉诺塔
    luogu P1892 [BOI2003]团伙
    luogu P3375 【模板】KMP字符串匹配
    luoguP1440 求m区间内的最小值
    luoguP2700 逐个击破
    luoguP2814 家谱
    luogu P1962 斐波那契数列
    P3379 【模板】最近公共祖先(LCA)
  • 原文地址:https://www.cnblogs.com/javazyh/p/9554705.html
Copyright © 2011-2022 走看看