在C#/ VB.NET/.NET中,哪个循环运行得更快,for
或者foreach
?
自从我读了一个for
循环工程快于foreach
环路很久以前我以为这对所有集合,泛型集合,所有阵列,等真正站在
我搜索谷歌并发现了一些文章,但其中大多数都没有结果(阅读文章的评论)和开放式.
什么是理想的是列出每个场景和相同的最佳解决方案.
例如(只是它应该如何的一个例子):
for
比...更好foreach
IList
(非泛型)字符串 - foreach
比...更好for
在网上找到的一些参考文献:
foreach
或不是foreach
,这就是问题for
vsforeach
[编辑]
除了可读性方面,我对事实和数据非常感兴趣.有些应用程序的最后一英里性能优化受到挤压很重要.
.NET有很多复杂的数据结构.不幸的是,它们中的一些非常相似,我不总是确定何时使用一个以及何时使用另一个.我的大多数C#和Visual Basic书籍都在一定程度上谈论它们,但它们从未真正涉及任何真实的细节.
Array,ArrayList,List,Hashtable,Dictionary,SortedList和SortedDictionary之间有什么区别?
哪些是可枚举的(IList - 可以做'foreach'循环)?哪些使用键/值对(IDict)?
内存占用情况如何?插入速度?检索速度?
还有其他值得一提的数据结构吗?
我还在寻找有关内存使用和速度的更多细节(Big-O表示法).
我有一个Configuration[]
用ConfigurationArray
类包装的数组,我如何使用数组添加值ConfigurationArray
.
public class ConfigurationArray
{
[DataMember(Name = "configurations")]
public Configuration[] Configurations { get; set; }
}
public class Configuration
{
[DataMember(Name = "configurationType")]
public string ConfigurationType { get; set; }
[DataMember(Name = "configurationValue")]
public string ConfigurationValue { get; set; }
}
Run Code Online (Sandbox Code Playgroud) 我如何在类中创建 int 数组。
我必须向该数组添加值。
不是特定的键。
我将数组声明为
public int[] iArray;
Run Code Online (Sandbox Code Playgroud)
从函数中我必须将 i 的值插入到数组中。我的 i 价值观发生变化。所以我必须将它们保存在数组中。
iArray[] = i;
Run Code Online (Sandbox Code Playgroud)
但它显示错误。