-1

以下のコードを作成しましたが、エラーは発生しませんでした。

foreach (var item in clb_frente_campos.CheckedItems)
{
    if (item == "numero_carteira")
    {            
        clb_frente_impressao.Items.Add(item);
        break;
    }
    else
    {
        if (!clb_frente_impressao.Items.Contains(item))
        {
            clb_frente_impressao.Items.Add(item);
            break;
        }
    }
}

このコードは、checkedCheckedListBoxを別の値に渡すためのボタンです。
アイテムnumero_carteiraが存在している間、checkedそれは私の other に何度も追加されることに注意してくださいCheckedListBox。アイテムnumero_carteiraは複数回追加できる唯一のアイテムだからです。しかし、私は彼が の場合にのみ追加されるようにしたかったのでselected、この新しいコードを作成しました:

foreach (var item in clb_frente_campos.CheckedItems)
{
    if (item == "numero_carteira")
    {
        if (clb_frente_campos.SelectedItem.ToString() == "numero_carteira")
        {
            clb_frente_impressao.Items.Add(item);
            break;
        }
    }
    else
    {
        if (!clb_frente_impressao.Items.Contains(item))
        {
            clb_frente_impressao.Items.Add(item);
            break;
        }
    }
}

そして、この新しいコードはerror、タイトルにあるものを私に与えてくれます.
また、私が今まで見た中で最も奇妙なことbreakpointsステップごとに使用してデバッグすると...どのように機能しますか?なぜですか?

4

1 に答える 1

0

デバッガーを使用したときに機能する場合は、ほぼ確実にスレッドの問題があります。コードの残りの部分を見ずにデバッグするのは難しいですが、私の直感では、ループする可能性のある他の場所を探すことですclb_frente_impressao.Items

于 2013-03-15T19:57:19.003 に答える