Endros Ответов: 1

Как отобразить данные с помощью цикла


так почему же результаты данных: 3, должна ли запись: test / 123

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

пример данных: test / 123

эта функция :
for (int i = 0; i < (receiveBufferLen - 2); i++)
{

   Session ["Value"] = (char)receiveBuffer[i];
   TextBox1.Text = data : " + (char)receiveBuffer[i]);
}



я вызываю текстовое поле :
TextBox1.Text = "data : "+ Session["Value"].ToString();



пожалуйста, дайте мне решение..

Karthik_Mahalingam

если вы зададите значение сеанса в цикле, он назначит только последнее значение индекса.

Endros

как это исправить мастер Картик Бангалор..

[редактировать]

Karthik_Mahalingam

какое значение вы хотите установить в сеансе?
предоставьте дополнительную информацию.

Endros

const int BUFFER_SIZE = 300;
static byte[] receiveBuffer = новый байт[BUFFER_SIZE];

это значение " receiveBuffer"

Karthik_Mahalingam

кажется, ваш вопрос решен.

Endros

ya, master it's data numerik, должна быть строка " test / 123"

Karthik_Mahalingam

значит, не получаю. пожалуйста объяснить

Endros

for (int i = 0; i < (receiveBufferLen-2); i++)
{

//Session ["Value"] = (char)receiveBuffer[i];
//TextBox1. Text = data : "+ (char)receiveBuffer[i]);
Свойство HttpContext.Тока.Ответ.Write ((char)receiveBuffer[i]);


}

если я изменюсь с помощью кода " HttpContext. Current.Ответ.Write ((char)receiveBuffer[i]);" эти данные : "test / 123"..
а если использовать код " Session ["Value"] = (char)receiveBuffer[i];
Текстовое поле textbox1.Текст = ("данные :" + ((чар)receiveBuffer[я]));" эти сведения : "3"..

1 Ответов

Рейтинг:
9

OriginalGriff

Если ваша петля выглядела так:

int total = 0;
for (int i = 0; i < 10; i++)
   {
   total = i;
   }
Console.WriteLine(total);
Тогда вы поймете, когда напечатанное значение всегда было 9, а не 45, потому что вы не складываете данные вместе - вы каждый раз заменяете общую сумму.
И вы знаете, как это исправить:
int total = 0;
for (int i = 0; i < 10; i++)
   {
   total = total + i;
   }
Console.WriteLine(total);

Ваш цикл в вопросе делает то же самое, и решение тоже самое!


Endros

мастер OriginalGriff как печатать на веб-консоли.метод WriteLine

OriginalGriff

Не обращайте внимания на консоль.WriteLine-это там для простого указания. Посмотрите на остальную часть кода и подумайте о том, что он делает, а затем посмотрите на свой код...

Endros

мастер Оригиналгрифф...
результат строки;
for (int i = 0; i < (receiveBufferLen-2); i++)
{
результат = система.Текст.Кодирование.ASCII.GetString(receiveBuffer, 0, i);
TextBox1. Text = "данные :" + результат;
}

но получите кодировку для набора символов ASCII (7 бит)...
почему мои данные перед компиляцией моих данных : тест / 123...
после компиляции моих данных: test / 12

пожалуйста, дайте мне решение еще раз ..

OriginalGriff

Строки основаны на символах, а ASCII-это 7-битные символы.
Прекратите использовать символы и обрабатывайте байты напрямую - они уже являются 8-битными значениями...