for和foreach的区别,什么时候用for 什么时候用foreach 以及foreach的应用 Thanks!

解决方案 »

  1.   

    明确循环次数 for
    不明确循环次数 foreach
      

  2.   

    恩,这个我知道,不过我不知道,foreach是怎么遍历的,
      

  3.   

    对集合可以用foreach,这样可以同时返回集合中的值。
      

  4.   

    简单的说FOR用于有ID的可以用ID一次找一个.
    FOREACH是找遍历对象,一个对象一个对象的来.
      

  5.   

    foreach(object o in bojects)
    {
        do something;
    }
      

  6.   

     XmlDocument doc = new XmlDocument();
                doc.Load("addteam.xml");
                XmlNodeList root = doc.SelectNodes("//new");
                foreach (XmlElement item in root)
                {
                    channelBoxLists.Items.Add(item.GetAttribute("name"));
                }      
      

  7.   

    foreach( 类 对象 in 集合)
    {}
    for 也能进行不确定次数查询
      

  8.   

    int[] datas = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    foreach (int item in datas)
    {
        Console.WriteLine(item.ToString());
    }
    //和下面是等效的
    IEnumerator ed = datas.GetEnumerator();
    while (ed.MoveNext())
    {
        Console.WriteLine(ed.Current.ToString());
      

  9.   

    看看下面的例子也许会让你对他们的理解加强一点(随手写的):  list<string> str=new list<string>();
      //向集合str中添加元素
      for(int i=0;i<10;i++)
      {  
       str.add(i.ToString());
      }
      //输出str集合中的元素
      foreach(string item in str)
     {
       response.write(item);
     }
      

  10.   

     treeView1.Nodes.Clear();
                XmlDocument dc = new XmlDocument();
                dc.Load("addteam.xml");
                XmlNodeList list = dc.SelectNodes("//new");
                foreach (XmlElement item in list)
                {
                    TreeNode trnodes = new TreeNode(item.GetAttribute("name1"));
                    try
                    {
                        foreach (XmlElement temp in item.ChildNodes)
                        {
                            TreeNode node = new TreeNode(temp.GetAttribute("name"));
                            node.Tag = temp.GetAttribute("url");
                            trnodes.Nodes.Add(node);
                        }                }
                    catch (Exception)
                    {                }                treeView1.Nodes.Add(trnodes);
                }
    这里面的foreach语句不太知道,只知道是绑定
      

  11.   

    我的油箱[email protected] 不好意思  我现在要去上课,我下午会看贴的。谢谢朋友!
      

  12.   

    string[] strarray1=new string[3]{"aaa","bbb","ccc"};
    string str1="";
    for(int i=0; i<strarray1.Lenght; i++)
    {
    str1=str1+strarray1[i];
    }
    MessageBox.Show(str1);
    //---------------------------
    str1="";
    foreach(string str in strarray1)
    {
    str1=str1+str;
    }
    MessageBox.Show(str1);
    /*上面显示的结果都是一样的。慢慢参详,就明白了。strarray1这个数组里面的包含的数据一定是string类型的。在举个例子*/
    List<int> intList = new List<int>();
    foreach(int tmp in intList)
    {
    //..........
    }
    List<string> strList = new List<string>();
    foreach(string str in strList)
    {
    //..........
    }
      

  13.   

    实现了IEnumrable接口的类才可以用foreach,foreach比for用起来更简单,毕竟代码少些很多啊
      

  14.   


    通俗的说
    for一般遍历对象中的值 比如遍历一个数组foreach一般遍历对象集合中的对象 比如一个泛型中存了多个对象,foreach用于从泛型集合中遍历对象中的属性或方法
      

  15.   

    写个简单例子看看List<Student> stuList=new List<Student>();//一个学生类的集合
    stuList.ADD(new student('张三','男'));//给集合添加元素
    stuList.ADD(new student('李四','男'));
    stuList.ADD(new student('王五','男'));
    foreach(Student stu in stuList)//遍历集合中的每个元素
         {
              Console.WriteLine(stu);//输出集合中的每个元素
         }
      

  16.   


    String[] sArr = new String[] {"one","two","three","four" };
                foreach (String s in sArr)
                    Console.WriteLine(s);
      

  17.   

    foreach (元素类型 变量名 in 集合或者数组名){
             // 语句
    }注意:
    1. “元素类型”必须和集合或数组中的元素类型相符。
    2. 循环变量集合和数组中的元素。
    3. 遍历过程中只能方法集合或数组中的元素,不能修改他们。
    4. 使用时优先考虑使用foreach语句。 http://www.dingos.cn/index.php?topic=937.0
      

  18.   

    String[] sArr = new String[] {"one","two","three","four" };
                foreach (String s in sArr)
                    Console.WriteLine(s);
      

  19.   

    个人认为还是自己多练习,做的多了,自己自然会明白怎么用!
    foreach( 类 对象 in 集合)
    {}
      

  20.   

    for 更灵活 可以设置循环次数 循环变量 开始结束暂停循环你随意控制 但是如果你操作不当就会出现 数组下标越界等等错误 foreach 不能设置循环次数 但是他在使用循环的时候无论怎么都不会越界
      

  21.   

    实现了IEnum....接口的集合对象,才可以用foreach,否则免谈
      

  22.   

    首先声明foreach比for的效率要高很多,并且可以免去拆箱的那一步,方便多了
    对于在什么时候用,给个建议,当你知道循环的次数是时用for反之用foreach
      

  23.   

     public void bianliArray()
        {
            double[] doubleArr = new double[10] { 1,2,3,4,5,6,7,8,9,10};        foreach (double data in doubleArr)   //使用循环遍历
            {
                Response.Write(data.ToString());
            }        IEnumerator<double> enumber = (IEnumerator<double>)doubleArr.GetEnumerator();   //使用IEnumerator         while (enumber.MoveNext())
            {
                Response.Write(enumber.Current.ToString());
            }
      

  24.   

     public void bianliArray()
        {
            double[] doubleArr = new double[10] { 1,2,3,4,5,6,7,8,9,10};        foreach (double data in doubleArr)   //使用循环遍历
            {
                Response.Write(data.ToString());
            }        IEnumerator<double> enumber = (IEnumerator<double>)doubleArr.GetEnumerator();   //使用IEnumerator 
            while (enumber.MoveNext())
            {
                Response.Write(enumber.Current.ToString());
            }
      

  25.   

    实现了IEnumrable接口的类才可以用foreach,foreach的内容是只读的,要是要修改读出的内容,就只能用for循环了