0

最初はインデックスがなかったように/実行時にリストに新しいインデックスを動的に追加できる方法はありますか?タイマーが刻むたびに、1つのインデックスがリストに追加されます(値は静的配列から取得されます)リスト)。

おそらくこのようなものですか?

private void timer1_Tick(object sender, EventArgs e)
{
    var lblPulseQuery = from PulseTime in PulseAndTime
                        where Convert.ToInt32(PulseTime.Time) == i
                        select PulseTime;

    foreach (PulseTime PulseTime in lblPulseQuery)
    {
        lblPulse.Text = PulseTime.Pulse + " bps";
    }

    List<string> PulseList = new List<string>();
    PulseList.Add(lblPulse.Text);
    string[] PulseArray = PulseList.ToArray();
}

上記のコードは、異なる値の別のインデックスを追加する代わりに、インデックスの値のみを変更します。

4

1 に答える 1

4

これは、List PulseList = new List(); であるためです。timer1_Tick() 内で宣言されています。タイマーが作動するたびに、新しいオブジェクトがインスタンス化されるため、PulseList の値が上書きされます。

PulseList の値を保持したい場合は、クラス スコープで宣言して、別のオブジェクトを追加するとインデックスが増加するようにします。

于 2013-02-06T03:17:49.820 に答える