Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Nikproga
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 31
1

Удаление повторяющихся элементов в ArrayList

06.07.2016, 14:42. Просмотров 311. Ответов 3
Метки нет (Все метки)

Есть метод в котором открывается файл и далее происходит запись столбцов (но это не важно)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public ArrayList getTableArray()
        {
            ArrayList tmpTableArray = new ArrayList(); //Таблица со значениями
            countColumn = 0;
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "Text files (*.txt, *.log)|*.txt;*.log|All files (*.*)|*.*";
            try
            {
                path = @"C:\Users\Nikita\Desktop\SuperProg\20150115_124458_BaF2_1850V_25mV_2us_tyv_6db_Cs137_PED.txt"; //Путь
 
                StreamReader sr = new StreamReader(path);
                // По строчное чтение
                while (!sr.EndOfStream)
                {
                    string[] tmp = sr.ReadLine().Split('    ');
                    if (countColumn < tmp.Length) countColumn = tmp.Length; //Ищем строку с наибольшем колличеством столбцов
                    tmpTableArray.Add(tmp);
                }
                sr.Close();
                return tmpTableArray;
            }
            catch
            {
                throw;
            }
Далее происходит передача в другой ArrayList для отрисовки по выбору столбца гистограммы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics gr = this.CreateGraphics();
            gr = panel1.CreateGraphics();
 
            ArrayList tableArray; //Таблица со значениями
 
            tableArray = getTableArray(); //Таблица со значениями
 
            int tmp_i = 0;
 
            if (comboBox1.SelectedItem != null && comboBox1.SelectedItem.ToString() != "")
            {
                richTextBox1.Clear();
                
                selectColumn = int.Parse(comboBox1.SelectedItem.ToString()) - 1; //Выбранный столбец (канал)
                foreach (string[] item in tableArray)
                {
                    if (comboBox1.SelectedItem.ToString() == null) break;
                    if (selectColumn+1 > item.Length) break;
                    //gr.DrawLine(new Pen(Color.Black), tmp_i + 16, 550, tmp_i + 16, int.Parse(item[selectColumn]));
                    //textBox1.Text += item[selectColumn];
                    tmp_i++;
                   
                    //richTextBox1.Text += mas;
                    List<int> ag = new List<int> { int.Parse(item[selectColumn]) };
                    ag = ag.Distinct().ToList();
                    IEnumerable<int> disting = ag.Distinct();
                    foreach(int ags in disting)
                    {
                        richTextBox1.Text += ags + "\t\n";
                    }
                }
            }
        }
Проблема заключается в том что мне необходимо из полученного столбца чисел от item[selectColumn] удалить все не повторяющиеся числа, что я и попытался реализовать через Distinct но по моему говнокоду мне выводятся теже самые числа, без обработки
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2016, 14:42
Ответы с готовыми решениями:

Удаление повторяющихся элементов в ArrayList
В цикле с помощью Add добавляю строки в массив ArrayList ArrayList temp = new ArrayList(); ...

Удаление повторяющихся элементов в массиве
Подскажите как реализовать удаление одинаковых чисел из массива? чем проще тем лучше Спасибо.

Удаление повторяющихся элементов в массиве
Здравствуйте. есть такая задача: существует объект класса ArrayList в котором хранятся значения...

Удаление повторяющихся элементов массива
Ребят, как можно вывести только неповторяющиеся элементы массива двумерного??? using System;...

Удаление повторяющихся элементов в List<string>
private List&lt;string&gt; _teachers; public List&lt;string&gt; teachers { get...

3
valera_21
405 / 379 / 104
Регистрация: 05.01.2010
Сообщений: 1,599
Завершенные тесты: 5
06.07.2016, 16:49 2
Удаление повторяющихся элементов в ArrayList
и
удалить все не повторяющиеся числа
0
Nikproga
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 31
06.07.2016, 17:07  [ТС] 3
Написал с ошибкой, удалить повторение чисел, что бы в итоге получить из 15 42 6 12 15 6 => 15 42 6 12
Спасибо что заметили
0
nedel
707 / 663 / 391
Регистрация: 09.04.2014
Сообщений: 1,588
Завершенные тесты: 1
06.07.2016, 17:24 4
1. Это ужас летящий на крыльях ночи
2. Читать файл при каждой перерисовке - без комментариев
3. Если предположить, что все-таки автор знает, что делает, то
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics gr = e.Graphics;
            ArrayList tableArray = getTableArray(); //Таблица со значениями
 
            if (comboBox1.SelectedItem != null && comboBox1.SelectedItem.ToString() != "")
            {
                richTextBox1.Clear();
 
                selectColumn = int.Parse(comboBox1.SelectedItem.ToString()) - 1; //Выбранный столбец (канал)
                List<int> ag = new List<int>(tableArray.Count);
                foreach (string[] item in tableArray)
                {
                    if (selectColumn < item.Length)
                        ag.Add(int.Parse(item[selectColumn]));
                }
                foreach (int ags in ag.Distinct())
                {
                    richTextBox1.Text += ags + "\t\n";
                }
            }
        }
0
06.07.2016, 17:24
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2016, 17:24

Удаление повторяющихся элементов из xml файла
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;head&gt; &lt;element id=&quot;0&quot;&gt; &lt;name&gt;1&lt;/name&gt; ...

Удаление повторяющихся элементов из списка(найти ошибку)
Всем привет! Прошу помощи, надо написать функцию удаления всех повторяющихся элементов из списка....

Удаление из списка объектов класса повторяющихся элементов
Добрый вечер. Есть программа, на определенном этапе которой мне необходимо удаление одинаковых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.