public class ArrayAccess
{
public ArraryAccess(Object[] Strings)
{
for (int i=0;i<Strings.Length-1;i++)
{
Debug.writeline(Strings[i].ToString());
}
}
}public class ArrayAccess
{
public ArraryAccess(Object[] Strings)
{
foreach( Object aa in Strings)
{
Debug.writeline(aa.ToString());
}
}
}
这两种方法,性能有差别吗?
{
public ArraryAccess(Object[] Strings)
{
for (int i=0;i<Strings.Length-1;i++)
{
Debug.writeline(Strings[i].ToString());
}
}
}public class ArrayAccess
{
public ArraryAccess(Object[] Strings)
{
foreach( Object aa in Strings)
{
Debug.writeline(aa.ToString());
}
}
}
这两种方法,性能有差别吗?
解决方案 »
- qldsrx 青龙白虎请进
- 高分求教:高手如何用c#将汉字转换为拼音,并和汉字一块存入数据表中,请举例!
- Inno Setup 如何知道用户选择了什么语言?
- 一台机器测试服务器端和多个客户端时,多个客户端向服务器发送不同数据,在服务器端数据被覆盖
- 如何在C#中调用SQL Server中的存储过程
- 有谁知道如何在windows mobile中录制amr音频
- 白捡分!
- 关于正则表达式的例子,大家帮我看看
- 请问怎样在.net中设置运行的启始页。
- 有人知道在vs.net中dateset typed 和untyped有什么差别就是做做不做那个xsd文件有什么差别
- 急求:::C#如何实现将打印生成的PRN文件,传递给打印机打印
- .net界面
E enumerator = (collection).GetEnumerator();
try {
ElementType element;
while (enumerator.MoveNext()) {
element = (ElementType)enumerator.Current;
statement;
}
}
finally {
IDisposable disposable = enumerator as System.IDisposable;
if (disposable != null) disposable.Dispose();
}
本质上foreach还是还是要实现很多循环的 并且还要转换当然和C#编译器有关 C#会在这方面优化很多地方
比如:
for (int i=0;i<Strings.Length-1;i++)编译的IL 就不会这样了
而大概的意思是
int t=Strings.Length-1;
for (int i=0;i<t;i++)
因为不用每次循环都计算Length