foreachサイクル詳細解析プロセス
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">
<asp:CheckBox ID="CheckBox2" runat="server" text=" "/>
<asp:CheckBox ID="CheckBox3" runat="server" text=" "/>
<asp:CheckBox ID="CheckBox4" runat="server" text=" "/>
<asp:CheckBox ID="CheckBox5" runat="server" text=" "/><br />
<asp:CheckBox ID="CheckBox6" runat="server" text=" "/>
<asp:CheckBox ID="CheckBox7" runat="server" text=" "/>
<asp:CheckBox ID="CheckBox8" runat="server" text=" "/>
<asp:CheckBox ID="CheckBox9" runat="server" text=" "/><br />
<asp:CheckBox ID="CheckBox10" runat="server" text=" "/>
<asp:CheckBox ID="CheckBox11" runat="server" text=" "/>
<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は使用しません.最後のインデックスに自動的にループします.
難しくない感じで、よく理解すれば把握しやすいです.