当前位置:  编程技术>.net/c#/asp.net

C#托管堆对象实例包含内容分析

    来源: 互联网  发布时间:2014-11-03

    本文导语:  本文以实例形式分析了C#托管堆对象实例包含的内容,有助于进一步了解C#程序设计中的托管对象。分享给大家供大家参考。具体分析如下: 通常来说,每个托管堆上的对象实例除了包含本身的值外,还包括: ① Type Object Ponter: ...

本文以实例形式分析了C#托管堆对象实例包含的内容,有助于进一步了解C#程序设计中的托管对象。分享给大家供大家参考。具体分析如下:

通常来说,每个托管堆上的对象实例除了包含本身的值外,还包括:

① Type Object Ponter: 指向Type对象实例。如果是同类型的对象实例,就指向同一个Type对象实例。

② Sync Block Index:在多线程情况下用来控制同步

如下实例所示:

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      Cow cow1 = new Cow();
      cow1.mooCount = 1;
      Cow cow2 = new Cow();
      cow2.mooCount = 2;
      Type t1 = cow1.GetType();
      Type t2 = cow2.GetType();
      Console.WriteLine(t1.FullName);
      Console.WriteLine(t2.FullName);
    }
  }
  public class Cow
  {
    public int mooCount;
  }
}

运行结果:
ConsoleApplication1.Cow
ConsoleApplication1.Cow

○ 调用对象实例的GetType方法,可以获取到Type类型对象,这就是所谓的反射
○ 以上的cow1和cow2的类型都是Cow,所以这2个实例指向同一个Type对象

用图形表示的话如下图所示:

另外,当值类型调用GetType方法时,会在托管堆上创建box,并有Type Object Pinter。

希望本文所述对大家C#程序设计的学习有所帮助。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • android 4.0 托管进程介绍及优先级和回收机制
  • 低价服务器托管(特价)
  • Web托管管理系统 SolidState
  • 偶托管了一管台linux主机,想分配一个用户出来自已用,请问该怎么做?
  • 你的主机托管服务商有没有要求你安装信息审查软件
  • 怎样在托管服务器win2003上远程改系统成redhat AS4?
  • 托管了一个Linux RedHat主机,我可以做些什么?
  • SSH整合中 hibernate托管给Spring得到SessionFactory
  • 代码托管平台 gitc
  • 将Oracle表空间升级为本地托管模式
  • 关于托管服务器的问题.我已经绝望了..各位帮帮我..
  • 请大家推荐几个支持java的网站托管服务商,谢谢,一定给分


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3