Member 14083059 Ответов: 3

Невозможно неявно преобразовать тип 'int' в 'string'


Я пишу код для Listbox для вычисления суммы общих числовых значений в present in ListBox.
я получаю такую ошибку-не могу неявно преобразовать тип 'int' в 'string'
Ошибка показывает здесь эту строку - TotalFees.Текст = Всего;
Мои значения ListBox имеют следующий тип
500
1000
1500
2000


помогите мне кто нибудь

Что я уже пробовал:

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
   {
       int Total;
       foreach (string Str in ListBox1.Items)
       {
           Total = (Total + int.Parse(Str));
       }

       TotalFees.Text = Total;
   }

3 Ответов

Рейтинг:
2

Gerry Schmitz

TotalFees.Text = Total.ToString();


Member 14083059

теперь я получаю ошибку этой строки Total = (Total + int.Parse(Str));
Комментарий к ошибке - использование неназначенной локальной переменной 'Total'

Gerry Schmitz

Какая "ошибка"? Это уже не то, что раньше.

Member 14083059

Использование нераспределенного локальной переменной "Итого"

Chris A Clarke

Попробуйте инициализировать Total.

int Total = 0;

Тогда для начала попробовать

var Total = ListBox1.Предметы.Cast<int>().Sum(); /// текстовое поле.Текст = Всего.Метод toString() или удалить Итого все вместе пойти на поле.Текст

Richard Deeming

Cast<int> не будет работать, если элементы являются строками, которые foreach петля предполагает, что это так. :)

int Total = ListBox1.Items.Cast<string>().Select(int.Parse).Sum();

Рейтинг:
2

0x01AA

Это довольно легко решить:

TotalFees.Text = Total.ToString();


Рейтинг:
0

Richard MacCutchan

int Total = 0; // set Total to zero to start
foreach (string Str in ListBox1.Items)
{
    Total = (Total + int.Parse(Str));
}

Вам нужно инициализировать Total, прежде чем использовать его в первый раз. Просто измените код, как указано выше.


Member 14083059

я использовал как выше предложенный код, но все еще получаю новую ошибку-"невозможно привести объект типа 'System.Web.UI.WebControls.Система ListItem' to type '.Струна"."
Эта строка - foreach (string str в ListBox1.Предметы)

Richard MacCutchan

Элементы списка не являются строками, пожалуйста, воспользуйтесь документацией: список.Объекты Недвижимости (Система.Окна.Формы) | Microsoft Docs[^]

Chris A Clarke

Ах... Элементов listitem сторон компании webcontrol текст и строку Свойства, значение...

Использование foreach(ListItem str в ListBox1.Предметы)
{
Итого += инт.Ул. разбора (.Значение);
}

Или

Итого = Список Listbox1.Предметы.Сумма( с =&ГТ; внутр.Синтаксический анализ(гр.Значение));