一、类的强制转换1.转换成某个类用Castclass指令。实例代码:ilGenerator.Emit( OpCodes.Castclass , typeof(ClassA) ); 2.转换成某个值类型用Unbox_Any指令。实例代码:ilGenerator.Emit( OpCodes.Unbox_ ...
分类:
其他好文 时间:
2018-04-23 15:40:16
阅读次数:
163
有关泛型的优缺点在网上有很多篇文章,也足以说明问题,我就不去复制粘贴了(而且内容有些多),由于记性不太好,所以自己做个简单明了的总结。 泛型的优点主要有两个: “性能” “安全” 性能从何谈起?很简单,看个粟子。 安全性,指的是类型安全 ...
装箱(boxing)和拆箱(unboxing)是C#类型系统的核心概念。装箱就是将一个值型转换为引用型对象。拆箱就是将一个引用型对象转换成任意值型! 1 int n = 100; 2 //有没有发生装箱?没有,只是调用方法.查看IL没有box,unbox关键字 3 string s = Conver ...
分类:
其他好文 时间:
2017-09-27 11:38:23
阅读次数:
191
这俩东东呢实现的效果是一样的,但是它们俩的效率不一样,原理也不一样。直接说结论吧,泛型比Object好用,效率高。因为Object有一个装箱和拆箱的过程,倘若是很多的数据那效率就低到不行了,而泛型没有这个问题,具体的情况可以参考一下两篇文章,写的很棒。 Object: 装箱和拆箱 泛型: 泛型 ...
分类:
其他好文 时间:
2017-09-01 09:46:05
阅读次数:
201
1、基本概念 字节的单位:byte。位的单位:bit,1byte=8bit 2、8种基本数据类型 4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。 3、包装类 包装类即使把基本类型变成对象类型,包含每种基本数据类型的相关属性如最大值、 ...
分类:
编程语言 时间:
2017-08-07 22:01:59
阅读次数:
177
boxing, unboxing. 装箱,值对象到引用对象的转换,会在堆上分配空间,栈到堆的拷贝,返回新的对象地址。 拆箱,获取装箱对象的的部分字段地址,然后从托管堆到线程堆栈进行拷贝。 拆箱需要判断运行时类型信息,suppose会费时一些?也不一定。 装箱有内存分配,还有额外内存syncblock ...
分类:
其他好文 时间:
2017-06-04 18:21:13
阅读次数:
130
在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定。Java也不例外。Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析。 什么是Enum Enum是自Java 5 引入的特性,用来方便Java开发者实现枚举应用。一个简单的Enum使用如下。 // Color ...
分类:
编程语言 时间:
2016-12-11 07:58:43
阅读次数:
205
装箱和拆箱是值类型和引用类型之间相互转换是要执行的操作。 1. 装箱在值类型向引用类型转换时发生 2. 拆箱在引用类型向值类型转换时发生 光上述两句话不难理解,但是往深处了解,就需要一些篇幅来解释了。 我们先看装箱时都会发生什么事情,下面是一行最简单的装箱代码 object obj = 1; obj ...