C# Lazy<T>(转)
来源:互联网 发布:2016软件工资待遇 编辑:程序博客网 时间:2024/05/21 08:40
1. Lazy<T> 概述
我们也许会遇到这样一种情况,我们有一个大家伙(大对象)需要创建,那么这个对象的创建时需要较长的时间,同时也需要在托管堆上分配较多的空间。
那么在.NET Framework 4 中提供了这样一个很聪明的方式:Lazy<T>(我们可以称之为懒对象)。当然,在之前,很多人也曾对其进行过自己的实现。
那么我们在这里就可以把 Lazy<T> 的作用总结为一句话,按需延迟加载。
2. Lazy<T> 的使用
了解了Lazy<T>的作用,让我们就来看下Lazy<T>如何应用。
class Program{ static void Main(string[] args) { Lazy<Large> lazyObject = new Lazy<Large>(); Console.WriteLine(lazyObject.IsValueCreated); lazyObject.Value.Test(); Console.WriteLine(lazyObject.IsValueCreated); }}[Serializable]class Large{ public Large() { } public void Test() { Console.WriteLine("Test"); }}
运行结果如下:
False
Test
True
请按任意键继续 ...
这个例子很简单,也是Lazy<T>最基本,也是最常用的应用方式。
0 0
- C# Lazy<T>(转)
- C# 延迟执行:Lazy<T>
- c# - Lazy<T> 延迟初始化对象
- C# Lazy<T>延时加载类
- C# Lazy<T>实现单例模式
- C#性能优化:延迟初始化Lazy<T>
- Lazy<T>
- C# 基础概念之延迟加载 Lazy<T>
- C#性能优化之Lazy<T> 实现延迟初始化
- Don't be lazy!
- C# Lazy Loading
- .net 4.0新特性-延迟初始化:Lazy(转),ThreadLocal<T>
- 深入.NET 4.0之,Lazy<T>点滴
- c# Json转 List<T>
- c#中List<T>find使用示例(转)
- c# T
- poj3468(lazy标记)
- lazy
- 世界有没有可能比我们想像得更好?
- 判断三角形性质
- 指针
- Java自学一
- java字符串length和length()
- C# Lazy<T>(转)
- struts2的性能优化
- mt7621
- Java静态链表的实现
- poj 2418 Hardwood Species--tire
- Troubleshooting 11.2 Clusterware Node Evictions (Reboots) (Doc ID 1050693.1)
- hdu 5090 Game with Pearls
- 如何打造淘宝爆款 怎么安全刷销量不降权 安全刷评分
- 2014上海全国邀请赛题解 HDOJ 5090-5099