• 值类型和引用类型的比较


    这几天在看《C#与.NET 3.0》高级程序设计,当看到值类型和引用类型这一章节时,看到如下这张表了。总结得不错,现特意贴出来,供大家看一下。

    问     题 值  类  型 引 用 类 型
    这个类型分配在哪里? 分配在栈上 分配在托管堆上
    变量是怎么表示的? 值类型变量是局部复制 引用类型变量指向被分配得实例所占的内存
    基类型是什么? 必须继承自System.ValueType 可以继承自除了System.ValueType以外的任何类型,只要那个类型不是sealed的
    这个类型能作为其他类型的基类吗? 不能。值类型是密封的,不能被继承 是的。如果这个类型不是密封的,它可以作为其他类型的基类
    默认的参数传递是什么? 变量是按值传递的(也就是,一个变量的副本被传入被调用的函数) 变量是按引用传递(例如,变量的地址传入被调用的函数)
    这个类型能重写System.Object.Finalize()吗? 不能。值类型不好放在堆上,因此不需要被终结。 可以间接地重写
    我可以为这个类型定义构造函数吗? 是的,但是默认的构造函数被保留(也就是自定义构造函数必须全部带有参数) 当然!
    这个类型的变量什么时候消亡? 当它们越出定义的作用域时。 当托管堆被垃圾回收时。
  • 相关阅读:
    poj 3255
    (DP) bzoj 2091
    (最短路) bzoj 2118
    (点双联通分量) poj 2942
    (树直径) bzoj 1509
    (离线处理+BFS) poi Tales of seafaring
    (并查集+DFS) poi guilds
    (记忆话搜索)POI Fibonacci Representation
    (DP) POI Bytecomputer
    (DP) bzoj 1296
  • 原文地址:https://www.cnblogs.com/dm521/p/1312193.html
Copyright © 2020-2023  润新知