@Vimake

Как сложить числа C#?

Есть текст в label10, равный 0.

Прописал такой вот код, который должен прибавлять 1 столько раз, сколько строк в textbox2.
Но он не прибавляет, а добавляет вместо 5 получается 011111

int lineCount = textBox2.Lines.Length;
            string one = "1";
            for (int line = 0; line < lineCount; line++)
            {
                label10.Text = label10.Text + one;
            }
  • Вопрос задан
  • 6671 просмотр
Решения вопроса 4
Я в сишарпе ни в зуб ногой, поэтому могу чего-то не понимать. Но у вас же явная конкатенация строк. Приводите значения к числам.
Пример делаю вслепую, с языком, повторюсь, не знаком, взял первый попавшийся мануал по приведению типов. Может где-то ошибусь:
int lineCount = textBox2.Lines.Length;
for (int line = 0; line < lineCount; line++)
{
    label10.Text = (Convert.ToInt32(label10.Text)++).ToString();
}

Примерно как-то так. В общем, хотите работать с числами - сначала получите числа.

Хотя, если учитывать специфику вашей задачи, все можно сделать еще проще. Зачем делать лишние вычисления, когда нужное значение лежит в счетчике line? Только поменять постфиксный инкремент на префиксный и сделать неравенство в условии нестрогим.
Ответ написан
friogenn
@friogenn
Возможно я что-то не понял, но цикл тут причем вообще?
int oldText = Convert.ToInt32(label10.Text);
label10.Text = (oldText + lineCount).ToString();


Не совсем ясно что и куда нужно прибавлять.
Ответ написан
Комментировать
@Samuel_Leonardo
int lineCount = textBox2.Lines.Length;
label10.Text = lineCount.ToString();
у вас какая-то проблема в логике, зачем считать по 1, если нужно вывести число строк?
Ответ написан
Не понял точно вопроса, как и на уточнение ответа не увидел. В общем. Допустим, есть TextBox, в нем есть N количество строк. Нужно вывести количество строк в Label средством цикла. Правда я не знаю, зачем это нужно. Код:
for (int i = 0; i < textBox.Lines.Count; i++)
{
       label.Text = (Convert.ToInt32(label.Text) + 1).ToString();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы