ListBox
コントロールには最大4つの項目があります。文字列変数に表示されるテキストを割り当てたいが、string Two
になるとすぐにインデックスが範囲外であるという問題に遭遇している。私はなぜこれが起こっているのかを知っています(リストボックス内の1つの項目だけですが...)。ListBox項目を別々の変数に格納する
私はおそらくこれに対処するためのif文のいくつかの種類を構築することができますが、それは以下の2項目以上1など
だ場合、私はそれを行うためのより効率的な方法があるかもしれないと思うのではなく、チェック私のコードのシンプルバージョン:
public void button1_Click(object sender, EventArgs e)
{
if (listBox1.Items.Count < 4) {
listBox1.Items.Add(comboBox1.Text);
} else {
System.Windows.Forms.MessageBox.Show("Too many");
}
string One = listBox1.Items[0].ToString();
string Two = listBox1.Items[1].ToString();
string Three = listBox1.Items[2].ToString();
string Four = listBox1.Items[3].ToString();
}
注私は、配列を反復処理する能力を持っているか、アクセスしていない別のアプリケーション内の変数にアクセスする必要があるように私がは、このために配列を使用することはできませんそのインデックス。
があまりにも共通言語ランタイムを使用して他のアプリケーションでnullにしたくない場合は
??
オペレータが使用されていますか? – Archimedesアイテム( 'if-else'パーツ)の追加とアイテム(' One、Two..'パーツ)の取得のために別のメソッドが必要な場合があります – SWeko
はい、他のアプリケーションは.NETベースです。基本的に何が起こるかは、ウィザードで宣言されたすべての変数(このコードが存在する私のフォーム)は、Microsoft Wordのマージコードを使用して参照されるデータテーブルに入れられるため、対処する能力はありません配列、列のみ、およびデータテーブル内の1つの行 –