C#托管堆对象实例包含内容分析
2023-06-13 09:15:46 时间
本文以实例形式分析了C#托管堆对象实例包含的内容,有助于进一步了解C#程序设计中的托管对象。分享给大家供大家参考。具体分析如下:
通常来说,每个托管堆上的对象实例除了包含本身的值外,还包括:
①TypeObjectPonter:指向Type对象实例。如果是同类型的对象实例,就指向同一个Type对象实例。
②SyncBlockIndex:在多线程情况下用来控制同步
如下实例所示:
namespaceConsoleApplication1 { classProgram { staticvoidMain(string[]args) { Cowcow1=newCow(); cow1.mooCount=1; Cowcow2=newCow(); cow2.mooCount=2; Typet1=cow1.GetType(); Typet2=cow2.GetType(); Console.WriteLine(t1.FullName); Console.WriteLine(t2.FullName); } } publicclassCow { publicintmooCount; } }
运行结果:
ConsoleApplication1.Cow
ConsoleApplication1.Cow
○调用对象实例的GetType方法,可以获取到Type类型对象,这就是所谓的反射
○以上的cow1和cow2的类型都是Cow,所以这2个实例指向同一个Type对象
用图形表示的话如下图所示:
另外,当值类型调用GetType方法时,会在托管堆上创建box,并有TypeObjectPinter。
希望本文所述对大家C#程序设计的学习有所帮助。
相关文章
- 第一个C# Winform实例
- C# 多线程编程
- C#-ToolTIp和Popup简单使用
- 1.5万字长文:从 C# 入门 Kafka
- 分享一个c#写的开源分布式消息队列equeue
- 扫描局域网IP地址和主机名的C#控制台代码
- c#中的实现php中的preg_replace
- C#大小写转换(金额)实例代码
- C#cmd中修改显示(显示进度变化效果)的方法
- C#实现协同过滤算法的实例代码
- C#实现Web文件上传的两种方法实例代码
- C#.NET发送邮件的实例代码
- c#基础学习之封装
- c#高效比对大量图片的实例代码
- c#简单判断是否是闰年的方法代码
- C#memcached缓存使用实例代码
- C#定时器定时更新的简单实例
- c#根据文件大小显示文件复制进度条实例
- C#List<T>Contains<T>()的用法小结
- js模拟C#中List的简单实例
- c#处理3种json数据的实例
- c#使用微信接口开发微信门户应用
- C#定时关闭窗体实例
- C#遍历DataSet控件实例总结
- C#实现对象XML序列化的方法
- C#生成饼形图及添加文字说明实例代码
- C#委托delegate实例解析
- C#打印绘图的实现方法
- C#实现快捷键的几种常用方法汇总