首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

这循环如何做

2012-10-16 
这循环怎么做?foreach(var c in list){if(){判断执行...}}上面那个循环,一旦遇到if为true,那么,后面的fore

这循环怎么做?
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;            }        } 

热点排行