2016-04-16 3 views
0

Я пытаюсь вычислить общее количество столбцов в списке. Мой код ниже:Как рассчитать общую сумму списка

Переменные

double VanTot = Menu.VanillaQ * 1.00; 
     double LCTot = Menu.LCQ * 1.50; 
     double ChocTot = Menu.ChocQ * 1.50; 

ListBox

if (Menu.VanillaQ > 0) 
     { 

      listBox2.Items.Add("£" + VanTot.ToString("N2")); 

     } 

     if (Menu.LCQ > 0) 
     { 

      listBox2.Items.Add("£" + LCTot.ToString("N2")); 

     } 

     if (Menu.ChocQ > 0) 
     { 
      listBox2.Items.Add("£" + ChocTot.ToString("N2")); 
     } 

Как рассчитать общее количество, добавляя каждый 'Tot' и отображения его в это поле:

private void Totaltxt_TextChanged(object sender, TextChangedEventArgs e) 
    { 


    } 

ответ

0

Метод Totaltxt_TextChanged будет вызван, когда текст соответствующего текстового поля будет изменен каким-либо образом, поэтому я не уверен, как это относится к суммированию общего количества. Вероятно, вы могли бы просто вставить следующую строку, когда хотите, чтобы сумма была рассчитана и отображена. Я предполагаю, что «Totaltxt» - это имя вашего текстового поля.

Totaltxt.Text = (VanTot + LCTot + ChocTot).ToString();

1

Если вы хотите, чтобы получить все Items в ListBox и Sum их, вы могли бы использовать LINQSum, чтобы помочь вам. Но для этого нужно несколько промежуточных шагов, прежде чем попасть туда:

  1. Отдайте свой ListBox.Items из коллекции object в string
  2. Преобразовать каждый элемент типа данных чисел, как, скажем, decimal
  3. Sum результаты

Вы можете сделать это с помощью LINQ с одним слоем следующим образом:

decimal sum = listBox1.Items 
       .Cast<string>() //read (1) 
       .Select(x => Convert.ToDecimal(x)) //read (2) 
       .Sum(); //read (3) 

 Смежные вопросы

  • Нет связанных вопросов^_^