Tag: 变量声明

变量声明是否总是放在循环之外?

声明在循环之外的循环中使用的变量而不是内部更好吗? 有时我会看到在循环中声明变量的示例。 这是否有效地导致程序在每次循环运行时为新变量分配内存? 或者.NET足够聪明,知道它真的是同一个变量。 例如,请参阅此答案中的以下代码。 public static void CopyStream(Stream input, Stream output) { byte[] buffer = new byte[32768]; while (true) { int read = input.Read (buffer, 0, buffer.Length); if (read <= 0) return; output.Write (buffer, 0, read); } } 这个修改过的版本会更有效吗? public static void CopyStream(Stream input, Stream output) { int read; //OUTSIDE LOOP byte[] buffer = […]

在循环外移动变量声明是否实际上提高了性能?

我正在编写处理器密集型加密代码(C#),所以无论多小,我都在寻找任何性能提升。 我在这个问题上听到过两种意见。 是否有任何性能优势 int smallPrime, spGen; for (int i = 0; i < numSmallPrimes; i++) { smallPrime = smallPrimes[i]; spGen = spHexGen[i]; […] } 在这? for (int i = 0; i < numSmallPrimes; i++) { int smallPrime = smallPrimes[i]; int spGen = spHexGen[i]; […] } 编译器是否已经这样做了?