摘要:
本文从最基本的String开始,由浅入深地阐述了作者对Immutable的见解。并结合C#语言的不同版本中的特征探讨了Immutable的实现方式。
Keywords:
C#,immutable class,immutable field,System.String,readonly,const,Anonymous Type
阅读全文
摘要:前面文章的描述中已经提到了资源有限的移动设备应用的性能问题要比桌面程序更为棘手。对于托管的应用程序,CLR使你的应用程序从与OS直接耦合的状态中解放出来。然而CLR却常常因为程序员不恰当的编码方式而变得“烦躁”,从而导致JIT的代码膨胀以及程序性能的下降。本文主要阐述了在移动设备上CLR与程序性能有哪些密切联系,以及应当以何种方式编码以使.NET CF CLR的运行更加smooth。
Keywords
.NET Compact Framework, CLR, Performance, GC, Generics .etc
阅读全文
摘要:对可执行的应用程序,它的生命是从Load开始的,一个.NET 的程序,某种程度上可以说它的生命是从加载类型开始的。本文阐述了在.NET CF中的Type Loader的工作原理,并结合示例说明了如何让您的应用程序启动更快。
Keywords
.NET Compact Framework,Type Loader, JIT ,Generic,Dictionary
阅读全文
摘要:这是C#中一个有趣的现象,也许您从中可以窥见些许CLR在构造类型时的行为,以及JIT编译的触发式编译过程。
阅读全文
摘要:我们知道C#是一门“安全”的的语言,以至于它不让我们修改已装箱值类型实例中的字段。因为这种尝试会带来出乎意料的效果。下面就来解释一下为什么会有这种让很多程序员“意外”的情况发生以及如何“欺骗”C#来实现程序员真正的意图
阅读全文
摘要:本文主要讨论的是P/Invoke中的参数传递和.NET Compact Framework的一些不同于完整版本的 .NET Fx之处,最后介绍了如何提高P/invoke的效率
阅读全文
摘要:本文阐述了值类型装箱,拆箱过程以及CLR在背后的行为。
阅读全文
摘要:装箱过程,如: myStruct myobj= new myStruct(); object baseobj =myobj; 在上述隐式转换中,myobj的内容被复制到堆上,放在一个装箱的对象上,baseobj对象引用设置为该对象。 让我们来看看在后台发生什么吧:实际上在最初定义myStruct结构时,.NET FX 隐式地提供另一个(隐式的)类,即装箱的myStruct类,它包括与myStru...
阅读全文