Yugal Kishor Ответов: 1

Как фильтровать строку


Если у меня есть несколько (16) значений в строке, как я могу получить первые 4 значения? Я думаю, что мне нужно разобрать эту строку и начать с null, 1, 2, 3, 4, null. пожалуйста, сообщите, если я прав.


Программа отправки: строка = "00 01 02 03 04 05 05 06 04 04 и т. д. "
я хочу только начальные 4 значения в строке = " 00 01 02 03 04"

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

byte[] ScanModeData = new byte[40960];
           int ValidDatalength, i;
           string temp, temps;
           ValidDatalength = 0;

           fCmdRet = StaticClassReaderB.ReadActiveModeData(ScanModeData, ref ValidDatalength, frmcomportindex);
           if (fCmdRet == 0)
           {
               temp = "";
               temps = ByteArrayToHexString(ScanModeData);

               for (i = 0; i < ValidDatalength; i++)
               {
                   temp = temp + temps.Substring(i * 2, 2) + " ";


               }

Maciej Los

Вы должны предоставить пример строки.

Yugal Kishor

частная строка ByteArrayToHexString(byte[] data)
{
Проверьте новое окно инструментов(сведения.Длина * 3);
for (int i = 0; i < data.Длина; i++)
{
СБ.Добавить(Конвертировать.ToString(data[i], 16). PadLeft(2, '0'));
}
возвращение СБ.Метод toString().Топпер();
}

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

OriginalGriff

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли. Итак, приведите нам пример вашей входной строки, а также покажите нам, что вы ожидаете в качестве вывода.
Используйте виджет" улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Yugal Kishor

частная строка ByteArrayToHexString(byte[] data)
{
Проверьте новое окно инструментов(сведения.Длина * 3);
for (int i = 0; i < data.Длина; i++)
{
СБ.Добавить(Конвертировать.ToString(data[i], 16). PadLeft(2, '0'));
}
возвращение СБ.Метод toString().Топпер();
}

OriginalGriff

Это не пример: покажите нам строку, а не то, как вы ее строите!

Yugal Kishor

private void GetData()
{
byte[] ScanModeData = новый байт[40960];
инт ValidDatalength, я;
строка, темп, темпы;
ValidDatalength = 0;
строка y = преобразовать.ToString(listBox1. SelectedItem);
fCmdRet = StaticClassReaderB. ReadActiveModeData(ScanModeData, ref ValidDatalength, frmcomportindex);
if (fCmdRet == 0)
{
температура = "";
temps = ByteArrayToHexString(ScanModeData);

for (i = 0; i & lt; ValidDatalength; i++)
{
temp = temp + temps. Substring(i * 2, 2) + " ";
}
частная строка ByteArrayToHexString(byte[] data)
{
Проверьте новое окно инструментов(сведения.Длина * 3);
for (int i = 0; i < data.Длина; i++)
{
СБ.Добавить(Конвертировать.ToString(data[i], 16). PadLeft(2, '0'));
}
возвращение СБ.Метод toString().Топпер();
}

Yugal Kishor

программа передает многомодульное значение . я хочу 16-значное значение . и еще одно значение = null

1 Ответов

Рейтинг:
12

Graeme_Grant

Если у вас есть общий маркер ("xxx, xxx, xxx" - запятая в этом примере), то используйте Строка.Метод Разделения[^].

Но без примера мы понятия не имеем, о чем вы просите.

Как упоминал OriginalGriff, попробуйте это (а не заставляйте других делать это за вас), вы можете удивить себя! Это называется программированием и обучением через исследования-это то, как мы учились.