.NET 4.x Информация с COM порта принимается, нужно передать в массив сортировать и сделать уникальными строки - C#
Формулировка задачи:
Добрый день.
Осуществляю приём информации с устройства на виртуальный COM-порт.
в RitchTextBox1 появляется текст вида(отсортировал сейчас, сам для понимания чтобы, принимаются в произвольном порядке строки в разнобой строки)
Это то что сделал и работает.
Теперь вопрос.
1. Нужно отсортировать
2. Удалить одинаковые строки
3. Вывести подготовленные сортированные строки и уже уникальные строки(без повторов одинаковых строк)
Решение вижу такое, поместить принятые строки в массив, в цикле произвести сортировку и сравнение строк.
Вот написал код ниже, чувствую решение очень близко, но никак не могу поймать идею в коде.
Подскажите пожалуйста ?
string InputData = null; delegate void SetTextCallback(string text); public Form1() { InitializeComponent(); } private void SetText(string text) { if (this.richTextBox1.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetText); this.richTextBox1.BeginInvoke(d, new object[] { text }); } else { this.AddData(text); } } private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { Thread.Sleep(300); byte[] data = new byte[port.BytesToRead]; port.Read(data, 0, data.Length); InputData = Encoding.UTF8.GetString(data); if (InputData != String.Empty) { SetText(InputData); } } private void AddData(string text) { richTextBox1.AppendText(text); }
20F 8 75 3 20F 8 75 30 27 10 40 00 3D 55 20F 8 75 30 27 10 40 00 3E 54 20F 8 75 30 27 10 40 00 3E 64 20F 8 75 30 27 10 40 00 3E 95 20F 8 75 30 27 10 40 00 3E 9E 211 8 F 211 8 FF FE 80 00 48 48 00 211 8 FF FE 80 00 48 48 00 54 211 8 FF FE 80 00 48 48 00 55 211 8 FF FE 80 00 48 48 00 9E 20F 8 75 3 20F 8 75 30 27 10 40 00 3D 55 20F 8 75 30 27 10 40 00 3E 54 20F 8 75 30 27 10 40 00 3E 64 20F 8 75 30 27 10 40 00 3E 95 20F 8 75 30 27 10 40 00 3E 9E 4B0 8 27 10 27 10 27 10 4B0 8 27 10 27 10 27 10 27 10 4DA 8 80 00 C0 00 00 00 00 00 4DA 8 80 00 C0 00 00 00 00 00 4DA 8 80 00 C0 00 00 00 00 00 4DA 8 80 00 C0 00 00 00 00 00 4DA 8 80 00 C0 00 00 00 00 00 4DA 8 80 00 C0 00 00 00 00 00
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { Thread.Sleep(300); byte[] data = new byte[port.BytesToRead]; port.Read(data, 0, data.Length); string[] content = new string[InputData.Length]; for (int i = 0; i < InputData.Length; ++i) { // вот тут честно говоря затрудняюсь, // как сортировать и сравнить, далее подготовить переменную string для вывода в RichTextBox } }
Решение задачи: «.NET 4.x Информация с COM порта принимается, нужно передать в массив сортировать и сделать уникальными строки»
textual
Листинг программы
port.NewLine = Environment.NewLine;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д