В настоящее время у меня строка объявлена как RxString. Rxstring представляют собой строку данных, как, например:Подсчет числа появления
T 112 22.0
Теперь мне нужно извлечь из среднего значения данных, чтобы сделать сравнение. Поэтому я делаю раскол. Код, как указано ниже:
string[] number = RxString.Split(' ');
string unit = number[1];
Так что теперь среднее значение объявляется как единица струн.
Данные поступают из последовательного порта, например:
T 11 22.2
T 42 22.0
T 42 22.0
T 42 23.2
T 22 20.8
на основе числа появления среднего значения, мне нужно выполнить какое-то действие. Например, если 42 появляется 4 раза (один за другим) по строке, мне нужно выполнить действие, иначе запись данных будет происходить, как обычно. Как я должен обрабатывать счет?
while (serialPort1.IsOpen)
{
string[] number = RxString.Split(' ');
string unit = number[1];
(Code for checking repeat)
if (unit repeats 4times)
{execute an action then record in db then reset counter}
else
{record in db then reset counter}
}
Имеют смысл?
Вы собираетесь быть выполнением функции _while_ (пока) вы получаете данные или _for_ конкретный, предварительно загруженный набор данных? –
@BenKnoble Мой друг предложил сохранить устройство для массива во время цикла, а затем использовать для цикла для сравнения. Но я просто потерял .. – Athena
Зачем вам нужен цикл for для сравнения? Я бы сделал это так: while loop для входящих данных. Ведите переменную счетчика за количество раз, когда вы видели 42. Сделайте свое хранилище, а затем проверьте, как указано в вашем вопросе, помните в ветке для выполнения действия, чтобы сбросить переменную счетчика. –