源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-09-21 04:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#托管堆对象实例包含内容分析
本文以实例形式分析了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对象 用图形表示的话如下图所示: [img]http://files.jb51.net/file_images/article/201409/2014917101221639.png?2014817101240[/img] 另外,当值类型调用GetType方法时,会在托管堆上创建box,并有Type Object Pinter。 希望本文所述对大家C#程序设计的学习有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部