这循环怎么做?
foreach(var c in list)
{
if()
{
判断执行
...
}
}
上面那个循环,一旦遇到if为true,那么,后面的foreach都不用判断了,直接执行if里面的语句,该怎么做?因为,如果元素很多的话,既然,都不用判断了,又为何要因为判断而影响效率。
[解决办法]
http://cn.bing.com/search?q=.net+foreach+break&src=IE-TopResult&FORM=IE10TR
[解决办法]
break掉?
每次循环被打断会影响效能
[解决办法]
呵呵,多做一个判断所消耗的额外时间,小到你绝对无法测量出来,所以这个问题没必要解决,
[解决办法]
比如如下代码
- C# code
List<int> list = new List<int>() { 1, 3, 10, 6, 4, 2, 15, 1, 10, 8, 9, 20, 4, 11, 3 };foreach (int i in list){ if (i > 10) { Console.WriteLine("{0} larger than 10! Loops are breaked.", i); break; } else { Console.WriteLine(i); }}
[解决办法]
同问啊
C#怎么在执行完一句判断语句后,在循环内将其移除?
[解决办法]
有一种思路,可以改用for来实现:
- C# code
List<int> list = new List<int>() { 1, 2, 3, 4, 5 }; for (int i = 0; i < list.Count; i++) { if (list[i] == 3) { for (; i < list.Count; i++) Console.WriteLine(list[i]); break; } }
[解决办法]
改成“大于等于3”比较恰当点:
- C# code
List<int> list = new List<int>() { 1, 2, 3, 4, 5 }; for (int i = 0; i < list.Count; i++) { if (list[i] >= 3) { for (; i < list.Count; i++) Console.WriteLine(list[i]); break; } }