C#语言还是比较常见的东西,这里我们主要介绍C# Lazy-Allocate设计概念,包括介绍让对象省下一些内存成本的方法。
C# Lazy-Allocate设计概念很简单,就是未使用前不预付成本。以下程序采取以时间换取空间的策略,付出存取判断式的代价来减轻空间浪费的情况。当然,Pre-Allocate也不是一无是处,不须预判断的快速存取特色适用于用户必然会存取的属性,但在一些特定的属性上,例如ASP.NET中常见的Style属性就不适合使用Pre-Allocate技巧,因为用户不一定会使用该属性,于此情况下,C# Lazy-Allocate设计概念可以让对象省下一些内存成本。
C# Lazy-Allocate设计概念的范例:
- public class Class1
- {
- private MyData _data;
- public MyData Data
- {
- get
- {
- if(_data == null)
- data = new MyData();
- return _data;
- }
- }
- public Class1() { }
- }
【编辑推荐】