0

if ステートメントを使用して合計を累積する方法を学習したので、コードを短くしようとしています。私の友人は、FOR ループを使用してこれを行うことができると私に言ったので、試してみましたが、FOR ループを完全に理解するのに苦労しています。

私のIFコードはこれです...

if (lbSnacks.Items[0].Selected)
{
    decSnackSaleTotal = decSnackSaleTotal + Convert.ToDecimal(lbSnacks.Items[0].Value);
}
if (lbSnacks.Items[1].Selected)
{
   decSnackSaleTotal = decSnackSaleTotal + Convert.ToDecimal(lbSnacks.Items[1].Value);
}
if (lbSnacks.Items[2].Selected)
{
    decSnackSaleTotal = decSnackSaleTotal + Convert.ToDecimal(lbSnacks.Items[2].Value);
}
if (lbSnacks.Items[3].Selected)
{
     decSnackSaleTotal = decSnackSaleTotal + Convert.ToDecimal(lbSnacks.Items[3].Value);
}
if (lbSnacks.Items[4].Selected)
{
     decSnackSaleTotal = decSnackSaleTotal + Convert.ToDecimal(lbSnacks.Items[4].Value);
}
if (lbSnacks.Items[5].Selected)
{
     decSnackSaleTotal = decSnackSaleTotal + Convert.ToDecimal(lbSnacks.Items[5].Value);
}

もちろん、for ループを使用するためにコメントアウトしました。私が使用したループはこれです:

for (int i = 0; i < lbSelected.Items.Count; i++)
{
   decSnackSaleTotal += Convert.ToDecimal(lbSelected.Items[i]); 
}

lbSelectedlistbox選択したアイテムが顧客から送られる 私の 2 番目の場所です。スナックの選択はlbSnacks私の最初の場所です。listbox

ありがとう!

4

2 に答える 2

0

おそらく、項目を 10 進数に変換することはできません。if アプローチと同様に Value プロパティを読み取る必要があるようです

for (int i = 0; i < lbSelected.Items.Count; i++){
            decSnackSaleTotal += Convert.ToDecimal(lbSelected.Items[i].Value); 
}
于 2014-03-17T20:03:42.573 に答える