【问题标题】:For loop performance on multiple variables - C#对于多个变量的循环性能 - C#
【发布时间】:2011-11-11 09:56:38
【问题描述】:

我们都知道我们可以像下面这样在一个 for 循环中声明多个变量

for ( int var1 = 0, var2 = 0, var3 = 0, var4 = 0, var5 = 0, var6 = 0; var1 < 10;
      var1++, var2++, var3++, var4++, var5++, var6++ )
{
      int result = var1 + var2 + var3 + var4 + var5 + var6;
      Console.WriteLine( result );
}
Console.Read();

我的问题是,

  1. 能否告诉我您可以在 for 循环中初始化的变量总数?
  2. 多个变量会影响 for 循环的性能吗?
  3. 您建议我们可以在 for 循环中使用多少个变量?

谢谢。

【问题讨论】:

  • 恕我直言,使用一个变量(影响条件)和其他在循环外初始化 - 更具可读性。
  • 我用过最多的循环变量是 2,这真是太棒了。
  • @harold 感谢您的回复。我绝对同意你的看法!
  • @Reniuz 我很抱歉,但你能澄清一下这个“其他初始化外循环”吗?谢谢。
  • 好吧,我的意思是:int var2 = 0; var3 = 0;...varn = 0; for(int var1 = 0; var1 &lt; 10; var1++){} 这里 var2、var3、varn 是“其他”变量,它们在循环之外,var1 用于条件:)

标签: c# .net performance


【解决方案1】:

3。你建议我们可以在 for 循环中使用多少个变量?

1

这与性能无关。您唯一关心的是可读性,当您使用第二个变量时,这会受到很大影响。从来不需要,从来没有用。

【讨论】:

  • 感谢您的回复。代码清晰度是许多专业开发环境中关注的主要原因,这种学习对于许多程序员来说将有很长的路要走。虽然这是一个非常基本的问题,但在我看来,这将有助于很多开发人员。
【解决方案2】:
  1. 尽你所能
  2. 是的。在您的代码中,增加语句:var1++, var2++, var3++, var4++, var5++, var6++ 确实有效。
  3. 这取决于您的目的。

【讨论】:

    【解决方案3】:
    1. 据我所知没有限制。

    2. 变量 inits 在开始时执行一次,并且在每次迭代时执行增量,因此您可以预期 inits 的影响可以忽略不计,而增量对性能的影响与数量呈线性关系迭代次数。

    3. 取决于你想做什么。 99% 的 for 循环只使用一个变量。

    【讨论】:

    • #3 做到了 99.99%,你就在 0.01% 的范围内
    • 感谢您的回复。当我们在处理集合时遇到像网格这样的 GUI 控件时,我们总是使用两个变量,即一个用于列表索引,另一个是用户将看到的显示索引。
    猜你喜欢
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多