一直想写一系列如何提高Performance和Scalability的文章,把我的相关经验和所知道的相关的技巧同大家分享。前一阵在园子里有一篇讨论for each 和 for两种循环那个具有更好的performance的blog,议论得沸沸扬扬。我觉得这是一个很好的切入点,我就已此作为引子,开始我的这个系列的文章。这篇文章的重点不是在于比较这两种循环孰优孰劣,我将讨论的重点是如何更好地定义Collection,如何在判断在什么时候该用Array,什么时候用Collection。

一、for each的本质

我们知道,所有实现了System.Collections. IEnumerable接口的类,我们都可以对它运用for each loop。为了弄清楚它的执行过程,我先给出一个Sample:

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...usingSystem;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
usingSystem.Collections.Generic;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
usingSystem.Text;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
usingSystem.Collections;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
namespaceArtech.CustomCollection
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
structEmployee
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
PrivateFields#regionPrivateFields
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privatestring_employeeID;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privatestring_name;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privateint_age;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
Constructor#regionConstructor
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicEmployee(stringemployeeID,stringname,intage)
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._employeeID=employeeID;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._name=name;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._age=age;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
PublicProperties#regionPublicProperties
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicstringEmployeeID
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
get[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{return_employeeID;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
set[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{_employeeID=value;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicstringName
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
get[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{return_name;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
set[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{_name=value;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicintAge
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
get[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{return_age;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
set[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{_age=value;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
Tostring#regionTostring
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicoverridestringToString()
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
returnstring.Format("\tID:\t{0}\n\tName:\t{1}\n\tAge:\t{2}\n\t",this._employeeID,this._name,this._age);
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
classEmployeeList:IEnumerable
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privateEmployee[]_employees;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicEmployee[]Employees
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
get[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{return_employees;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
set[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{_employees=value;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
IEnumerableMembers#regionIEnumerableMembers
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicvirtualIEnumeratorGetEnumerator()
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Console.WriteLine(
"EmployeeList.GetEnumerator()isinvoked");
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
returnnewGenericEmployeeEnumerator(this._employees);
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
classEmployeeEnumerator:IEnumerator
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privateEmployee[]_employees;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privateint_index=-1;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicEmployeeEnumerator(Employee[]employees)
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._employees=employees;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
IEnumeratorMembers#regionIEnumeratorMembers
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicobjectCurrent
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
get
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Console.WriteLine(
"EmployeeEnumerator.Currentisinvoked");
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
returnthis._employees[this._index];
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicboolMoveNext()
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Console.WriteLine(
"EmployeeEnumerator.MoveNextisinvoked");
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
if(this._index<this._employees.Length-1)
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._index++;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
returntrue;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
returnfalse;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicvoidReset()
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._index=-1;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
classProgram
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
staticvoidMain(string[]args)
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Employee[]employees
=newEmployee[][原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{newEmployee("0001","ZhangSan",21),newEmployee("0002","LiSi",30)};
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...EmployeeListempoyeeList
=newEmployeeList();
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...empoyeeList.Employees
=employees;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Console.WriteLine(
"Beginforeachloop[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...");
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
foreach(EmployeeemployeeinempoyeeList)
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Console.WriteLine(employee.ToString());
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Console.WriteLine(
"\n\nBeginwhileloop[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...");
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...IEnumeratorenumerator
=empoyeeList.GetEnumerator();
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
while(enumerator.MoveNext())
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Employeeemployee
=(Employee)enumerator.Current;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...Console.WriteLine(employee.ToString());
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...

我们先运行一下上面的程序再来讲述具体的执行的流程。

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
在上面的Sample中我们先定义了一个Employee的struct,之所以使用struct而不用一般的class,我将在后面的部分介绍。

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...structEmployee
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
PrivateFields#regionPrivateFields
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privatestring_employeeID;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privatestring_name;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
privateint_age;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
Constructor#regionConstructor
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicEmployee(stringemployeeID,stringname,intage)
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._employeeID=employeeID;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._name=name;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
this._age=age;
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
PublicProperties#regionPublicProperties
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicstringEmployeeID
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
get[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{return_employeeID;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
set[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{_employeeID=value;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicstringName
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
get[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{return_name;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
set[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{_name=value;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicintAge
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
get[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{return_age;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
set[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{_age=value;}
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
Tostring#regionTostring
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
publicoverridestringToString()
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...{
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
returnstring.Format("\tID:\t{0}\n\tName:\t{1}\n\tAge:\t{2}\n\t",this._employeeID,this._name,this._age);
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...
#endregion

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...}

然后我们基于这个Emplyee struct,定义了与之对应的Collection:EmplyeeList。EmplyeeList实现了System.Collections. IEnumerable接口。并以一个virtual 方法的形式实现了该接口的GetEnumerator方法。(为什么用virtual方法的原因,我会再后续部分解释)。

[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...PublicvirtualIEnumeratorGetEnumerator()
[原创]如何改善Managed Code的Performance和Scalability系列之一:由for V.S. for each想到的...

相关文章: