开发环境来编写 C#程序。使用 IDE,程序员可以方便的建立,运 行,测试和调试 C#程序,这就将开发一个可用程序的时间减少到不用 IDE 开发 时所用时间的一小部分。使用 IDE 迅速建立一个应用程序的过程称为快速反映 开发。 C#新特性 : 1、 泛型:在我看来,泛型就是通过将数据类型参数化从而实现了代码的更 为灵活的复用,泛型的出现使得 C#能够使用同一段代码来操作多种数据类型。
泛型无疑是 C#最重大的改进,它的出现赋予了 C#代码更强的类型安全,更好的 复用,更高的效率和更清晰的约束。 2、 匿名方法:匿名方法允许我们将代码直接与委托实例相关联,使委托实 例化工作更加直观和方便。在我看来,这只是 C#又多了一种语法格式而已,不 再像以前必须将方法名传给委托实例,而是又多了一种选择。 3、 迭代器: 迭代器允许我们更加方便的编写用于 foreach 语句的类型。 在我 看来,迭代器的出现只不过是改进了 1.0 中不便的可用 foreach 语句类型的编写 限制,简化了一些接口。 4、 局部类型:局部类型允许我们将一个类的代码分别写在不同的 cs 文件 中。最典型的应用就是使用 VS2005 创建 Form 文件时,VS 会自动将系统生成的 代码与用户代码分开。局部类型通过 partial 关键字来声明。 5、 空属类型:空属类型是一种像 int?一样可以为空的变量类型。本质上是 一种泛型的应用,是 System .Nullable<>的一种类型实例化。 6、 静态类:静态类是只用于包含静态成员的类型,它既不能实例化,亦不 能被继承。
第2章
代码混淆技术
本章具体研究了现有的较为
常用的几种代码棍淆技术,首先给出代码混淆 的定义,然后介绍了词法变换混淆、数据混淆、控制混淆和类结构混淆,最后 给出了代码混淆的性能与度量的方法。
2.1 代码混淆的定义
代码混淆技术是一种重要的软件保护方法,混淆的实质就是一种变换,通过 这不下变换疤原来的代码变成与其功能相同或相近的, 但是更难被理解和反编译 的代码。由于混淆技术可以根据不同的目的,不同的混淆对象采用不同的方法, 这使得混淆方法非常多。