0

Listboxフォームのコンストラクターを使用して、C# の配列からデータを入力するにはどうすればよいですか? これまでのところ、これは私の名前クラスにあるものです

String[,] strSpecialCakeName = {
                               {"Holiday Cake at", "$18"},
                               {"Birthday Cake at", "$25"},
                               {"Wedding Cake at", "$40"},
                               {"Super Hero Cake at", "$30"}
                               };

そして、これが私のフォームにあるものです

public partial class frmLabSeven : Form
{
    private string[,] strSpecialCakeName = new string[4, 2];

    public frmLabSeven()
    {
        InitializeComponent();

        strSpecialCakeName [0, 0] = "Holiday Cake at $18";
        strSpecialCakeName [1, 1] = "Birthday Cake at $25";
        strSpecialCakeName [2, 2] = "Wedding Cake at $40";
        strSpecialCakeName [3, 3] = "Super Hero Cake at $30";
    }
}

フォームでコレクションのアイテムを使用できることはわかっていますが、それは私がやりたいことではありません。配列を使用してリスト ボックスにデータを表示する方法がわかりません。

4

2 に答える 2

2

最初に知っておく必要があるのは、配列が次のようになっていることです。

strSpecialCakeName[0,0] = "Holiday Cake at"
strSpecialCakeName[0,1] = "$18"
strSpecialCakeName[1,0] = "Birthday Cake at"
strSpecialCakeName[1,1] = "$25"
strSpecialCakeName[2,0] = "Wedding Cake at"
strSpecialCakeName[2,1] = "$40"
strSpecialCakeName[3,0] = "Super Hero Cake at"
strSpecialCakeName[3,1] = "$30"

for ステートメントを使用してリストボックスに追加できます。

for (int i = 0; i < 4; i++)
{
    listBox1.Items.Add(strSpecialCakeName[i, 0] + " " + strSpecialCakeName[i, 1]);
}
于 2012-11-16T01:20:07.547 に答える
1

両方の次元を反復するのはかなり簡単ですが、それがあなたの考えているものになるかどうかはわかりません。@Mark Hall のコメントに注意してください。

for (int i = 0; i < strSpecialCakeName.GetLength(0); i++)
    lstTest.Items.Add(strSpecialCakeName[i, 0]);
for (int i = 0; i < strSpecialCakeName.GetLength(1); i++)
    lstTest.Items.Add(strSpecialCakeName[0, i]);

また、宣言された配列の範囲外にインデックスがあるため、コンストラクターでの割り当てがエラーになることに注意してください。

于 2012-11-16T01:22:32.950 に答える