Tag: for loop

使用for循环遍历字典

我通常使用foreach循环来迭代Dictionary。 Dictionary dictSummary = new Dictionary(); 在这种情况下,我想修剪空白的条目,而foreach循环确实不允许这样做。 foreach (var kvp in dictSummary) { kvp.Value = kvp.Value.Trim(); } 如何使用for循环执行此操作? for (int i = dictSummary.Count – 1; i >= 0; i–) { }

因为循环超出范围

using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { MyClass myClass = new MyClass(); myClass.StartTasks(); } } class MyClass { int[] arr; public void StartTasks() { arr = new int[2]; arr[0] = 100; arr[1] = 101; for (int i = 0; i WorkerMethod(arr[i])); // IndexOutOfRangeException: […]

C# – For vs Foreach – 巨大的性能差异

我正在对一个算法进行一些优化,该算法在给定的数组中找到大于X的最小数字,但随后ai偶然发现了一个奇怪的差异。 在下面的代码中,“ForeachUpper”在625ms结束,“ForUpper”结束,我相信,几个小时(疯狂地慢)。 为什么这样? class Teste { public double Valor { get; set; } public Teste(double d) { Valor = d; } public override string ToString() { return “Teste: ” + Valor; } } private static IEnumerable GetTeste(double total) { for (int i = 1; i d.Valor), test); Console.WriteLine(“————“); ForUpper(ieTeste.Select(d => d.Valor), test); Console.Read(); } private […]

foreach循环消除边界检查的特殊情况是什么?

foreach / for循环消除边界检查的特殊情况是什么? 还有哪些界限检查呢?

用于循环计算阶乘

目前我有这组代码,它的目的是计算阶乘。 int numberInt = int.Parse(factorialNumberTextBox.Text); for (int i = 1; i < numberInt; i++) { numberInt = numberInt * i; } factorialAnswerTextBox.Text = numberInt.ToString(); 由于某种原因,它不起作用,我不知道为什么。 例如,我将输入3并得到答案为-458131456,这看起来很奇怪。 任何帮助赞赏。 谢谢

在背靠背for循环中的int,short,byte性能

(背景: 为什么我应该在C#中使用int而不是字节或short ) 为了满足我自己对使用“适当大小”整数与“优化”整数的优缺点的好奇心,我编写了以下代码,这些代码强化了我以前在.Net中对int性能的真实性(并在链接中对此进行了解释)以上)它是针对int性能而不是short或byte进行优化的。 DateTime t; long a, b, c; t = DateTime.Now; for (int index = 0; index < 127; index++) { Console.WriteLine(index.ToString()); } a = DateTime.Now.Ticks – t.Ticks; t = DateTime.Now; for (short index = 0; index < 127; index++) { Console.WriteLine(index.ToString()); } b=DateTime.Now.Ticks – t.Ticks; t = DateTime.Now; for (byte index = […]

随机数生成器在循环内运行时始终选择相同的值

代码的问题是,当我尝试生成一个数字时,如果自旋等于1,它会在范围(1,2,3)内生成值,如果尝试使用循环对相同范围内的随机值进行求和则随机在循环中,数字gerated始终是相同的, 例如,如果我使用:spind3 = 4运行循环,则值从4,8,12 spind3 = 5开始,值从5,10,15开始 这意味着RandomNumber第一次在循环内生成一个值,它在循环完成之前永远不会改变。 if (toggled3.Checked) { if (spind3.Value != 1) { for (int i = 1; i <= spind3.Value; i++) { diceCalc[1] += RandomNumber(1, 4); } } else diceCalc[1] = RandomNumber(1, 4); }

c#中的for和while循环

for (i=0 ; i<=10; i++) { .. .. } i=0; while(i<=10) { .. .. i++; } 在for和while循环中,哪一个更好,性能明智?

for和foreach有什么区别?

for和foreach循环之间的主要区别是什么? 在哪些场景中我们可以使用而不是foreach ,反之亦然。 是否可以用简单的程序来展示? 两者对我来说都是一样的。 我无法区分它们。