zoukankan
html css js c++ java
基本类型泛型(一)
public
static
class
Program
{
public
static
void
Main()
{
ValueTypeTest();
ReferenceTypeTest();
Console.ReadLine();
}
private
static
void
ValueTypeTest()
{
const
Int32 count
=
10000000
;
using
(
new
OperatorTimer(
"
泛型值类型:List<Int32>
"
))
{
List
<
Int32
>
l
=
new
List
<
int
>
();
for
(
int
i
=
0
; i
<
count; i
++
)
{
l.Add(i);
Int32 x
=
l[i];
}
l
=
null
;
}
using
(
new
OperatorTimer(
"
非泛型值类型:ArrayList of Int32
"
))
{
ArrayList a
=
new
ArrayList();
for
(
int
i
=
0
; i
<
count; i
++
)
{
a.Add(i);
Int32 x
=
(Int32)a[i];
}
a
=
null
;
}
}
private
static
void
ReferenceTypeTest()
{
const
Int32 count
=
10000000
;
using
(
new
OperatorTimer(
"
泛型类型引用类型:List<String>
"
))
{
List
<
String
>
l
=
new
List
<
string
>
();
for
(
int
i
=
0
; i
<
count; i
++
)
{
l.Add(
"
X
"
);
String x
=
l[i];
}
l
=
null
;
}
using
(
new
OperatorTimer(
"
非泛型类型引用类型:ArrayList of String
"
))
{
ArrayList a
=
new
ArrayList();
for
(
int
i
=
0
; i
<
count; i
++
)
{
a.Add(
"
X
"
);
String x
=
(String)a[i];
}
a
=
null
;
}
}
}
internal
sealed
class
OperatorTimer : IDisposable
{
private
Int64 m_starttime;
private
String m_text;
private
Int32 m_collectionCount;
public
OperatorTimer(String t)
{
PrepareForOperation();
m_text
=
t;
m_collectionCount
=
GC.CollectionCount(
0
);
m_starttime
=
Stopwatch.GetTimestamp();
}
public
void
Dispose()
{
Console.WriteLine(
"
{0,6:###.00} seconds (GCs={1,3}){2}
"
,
(Stopwatch.GetTimestamp()
-
m_starttime)
/
(Double)Stopwatch.Frequency,
GC.CollectionCount(
0
)
-
m_collectionCount,
m_text);
}
public
static
void
PrepareForOperation()
{
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
}
}
16
.
1FCL
中的泛型
16
.
2Wintellect
的
Power Collections
库
为了使
CLR
编程人员也能使用
C++
标准模板库的部分集合类,
Wintellect
制作了
Power Collections
库。可从
Wintellect.com
下载。
16
.
3
泛型基础结构
作者:
青羽
查看全文
相关阅读:
人生十鉴
ASP.NET MVC 3 Preview 1 发布
基于IPagedList 的 Asp.Net MVC 分页
jenkins 更改用户
MATLAB常用日期和时间函数
Could not load file or assembly 'AjaxControlToolkit' or one of its dependencies. 错误解决
ORA00932: inconsistent datatypes: expected A got B
几种数据库的大数据批量插入
水晶报表 无效索引。 (异常来自 HRESULT:0x8002000B (DISP_E_BADINDEX))错误的解决
oracle 更新多条数据
原文地址:https://www.cnblogs.com/tenghoo/p/1209921.html
最新文章
关于海量用户访问的通用技术架构的一些思考
Jsonp 跨域的原理以及Jquery的解决方案
ASP.NET MVC 中使用Json的一点小疑问(已解决)
[转]宇宙吸引力法则
如何开发高性能低成本的网站之技术选择
sql server 2005 分别用值函数和存储过程拆分字符串成列
sql server 对储存过程和函数的加密解密
MVC中View下的MasterPage取不到RouteData,汗!
ASP.NET MVC中重写IAuthorizationFilter的需要注意的问题
winform与web交互问题总结
热门文章
MySql lower_case_table_names 导致 errno:150
[转]Oracle 日期加减法
程序员的能力模型与沟通技巧
项目总结(201088)
ASP.NET MVC Controller与Areas下面的Controller同名的解决办法
[转]用户凭什么跟你走
[转]当陷入职业迷茫时,怎么办?
升级到windows server 2008
C#多线程开发总结
正则符号解释与常用表达式积累
Copyright © 2011-2022 走看看