我想知道使用
我看到了这些问题:
Enumerable.Range
与使用foreach
循环相比的性能开销如何。例如:var stringArray = Enumerable.Range(0, 4).Select(i => string.Empty).ToArray();
对比。
var stringArray = new string[4];
for (int i = 0; i < formatted.Length; i++)
{
stringArray[i] = string.Empty;
}
我看到了这些问题:
- 为什么 Enumerable.Range 比直接使用 yield 循环更快?
- Enumerable.Range 的实现
- 使用 Enumerable.Range 和传统的 for 循环进行 foreach 的想法
Select
之后可能会出现循环两次的情况。但是我喜欢使用 Range
选项的优雅。
ToArray
将是最大的罪魁祸首。但这不是你需要担心的性能问题(通常情况下)。这是微观优化。 - Dennis_E