2015-07-07 5 views
-2

У меня есть программа, которая получает номера от пользователя и сохраняет их в списке, затем она берет каждое число и печатает его в текстовом поле перед печатью среднего значения. Однако у меня есть логическая ошибка с добавлением двух строк вместе. Вот код, который имеет значение.Конкатенация строки, перезаписывающей предыдущую строку C#

DataView.Text = ""; 
if (Comma) 
{ 
    DataView.Text = Number.ToString(); 
} 
else 
{ 
    DataView.Text += ", " + Number.ToString(); 
} 

Он проверяет, нужно ли ему добавить запятую, а затем добавляет в соответствии с этим. Я считаю, что это линия, которая не работает, но я могу ошибаться.

DataView.Text += ", " + Number.ToString(); 

Я думаю, что она снимает номер, который был там раньше, и просто помещает число, которое есть сейчас, что это не то, что я хочу, я хочу, чтобы показать как.

+1

Можете ли вы показать нам весь код? Откуда возникает Comma, когда вы сбрасываете строку в этом блоке if. – deathismyfriend

+3

Вы прочитали это на своей резиновой утке? https://en.wikipedia.org/wiki/Rubber_duck_debugging Если 'Comma' или' 'Comma' ... –

+2

Вы установили контрольную точку в коде и вошли в нее, чтобы посмотреть, что на самом деле происходит? (Ваша проблема должна стать довольно очевидной, как только вы займете пару секунд для отладки вашего приложения) –

ответ

3

Ваш сброс строку "" здесь

DataView.Text = ""; 

Так конечно, когда вы звоните

DataView.Text += ", " + Number.ToString(); 

Это только собирается показать

, 912837 (or whatever number) 

Кроме того, всякий раз, когда вы обнаружите, что вы уже есть запятая, вы делаете

DataView.Text = Number.ToString(); 

Какой должна быть

DataView.Text += Number.ToString(); 

Если вы хотите добавить номер вместо замены.

+0

У него действительно есть странная проблема в контексте код, который он написал ... –

0

Не уверен в полном контексте здесь, но при условии, что вы выполняете итерирование по списку, вам необходимо убедиться, что вы не сбросите текстовое значение dataview, чтобы оно было пустое внутри цикла.

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