牛骨文教育服务平台(让学习变的简单)
博文笔记

foreach循环详细解析流程

创建时间:2017-01-14 投稿人: 浏览次数:4854

foreach循环

感觉好的请转发,点赞。谢谢
1、foreach循环具有一个很显著的特点就是索引永远不会溢出。
解决了for,while循环中容易溢出导致程序奔溃的作用。
2、foreach语句是c#中新增的循环语句,他对于处理数组及集合等数据类型特别方便。

foreach循环格式:

foreach(自变量 a in 集合b)
{
    操作每一个a
}

要点:
1、自变量a是某种类型的变量(int,double,string,char,checkbox,textbox等,控件也属于类型,即引用类型)
2、集合b是一组变量,但必须保证“集合b”和“自变量a”的类型相同
3、a在循环体中可以被调用,但不可以被赋值和改动。

范例示范:
ASP.NET

 <div id="foreach1" runat="server">
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <asp:CheckBox ID="CheckBox2" runat="server" text="逛街"/>
            &nbsp;&nbsp;
            <asp:CheckBox ID="CheckBox3" runat="server" text="喝茶"/>
            &nbsp;&nbsp;
            <asp:CheckBox ID="CheckBox4" runat="server" text="唱歌"/>
            &nbsp;&nbsp;&nbsp;
            <asp:CheckBox ID="CheckBox5" runat="server" text="购物"/><br />

            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

            <asp:CheckBox ID="CheckBox6" runat="server" text="看电影"/>
            &nbsp;
            <asp:CheckBox ID="CheckBox7" runat="server" text="看书"/>
            &nbsp;&nbsp;
            <asp:CheckBox ID="CheckBox8" runat="server" text="旅游"/>
            &nbsp;&nbsp;&nbsp;

            <asp:CheckBox ID="CheckBox9" runat="server" text="听音乐"/><br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <asp:CheckBox ID="CheckBox10" runat="server" text="爬山"/>
            &nbsp;&nbsp;
            <asp:CheckBox ID="CheckBox11" runat="server" text="玩游戏"/>
            &nbsp;
            <asp:CheckBox ID="CheckBox12" runat="server" text="看综艺节目"/>
            <asp:CheckBox ID="CheckBox13" runat="server" text="学ASP.NET"/><br /><br />
        </div>
 CheckBox cb;//复选框控件
foreach (Control kon in foreach1.Controls)//kon是控件父类
        {//control指向所有的控件,所有需要判断我们需要什么控件
        //foreach1是HTML中的一个层
            if (kon is CheckBox)
            {//判断是不是复选框控件
                cb = (CheckBox)kon;//强制转换并且赋值
                if(cb.Checked)
                {
                    TextBox2.Text += cb.Text + "
";
                }
            }
        }

总结实践:foreach编码流程跟for,while稍有区别。
区别:for,while都需要设置索引值,则foreach不用。自动循环到最后一个索引。

感觉不是很难,如果清晰理解很容易掌握。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。