ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

C# поиск текста в listView
  #1  
Старый 12.12.2009, 05:09
WAYS
Познающий
Регистрация: 12.11.2008
Сообщений: 33
Провел на форуме:
67053

Репутация: 15
Отправить сообщение для WAYS с помощью ICQ
По умолчанию C# поиск текста в listView

Задача, не загонять в список listView1 элементы, которые уже там есть. Выложил весь кусок, возможно вы подскажете как можно упросить код.

all - arrayList со всеми элементами.

Код:
//Подсчет одинаковых символов
            int alls = 0; 
            for (int i = 0; i < all.Count; i++)
            {
                k = 0;
                for (int s = 0; s < all.Count; s++)
                {
                    if (all[i].ToString() == all[s].ToString())
                    {
                        k = (k + 1);
                    }
                }
                //Если символ повторяется мы его не заносим в таблицу (но этот код ищет по всей таблице, а мне нужно только по 1му столбику)
                if(listView1.FindItemWithText(all[i].ToString()) == null)
                {
                    alls++;
                    lv[0] = all[i].ToString();
                    lv[1] = k.ToString();
                    double proc = Math.Round(k * 100 / (double)all.Count, 2);
                    lv[2] = proc.ToString();
                    toolStripStatusLabel4.Text = alls.ToString();
                    listView1.Items.Add(new ListViewItem(lv, 1));
                }
             }

Последний раз редактировалось WAYS; 12.12.2009 в 05:11..
 
Ответить с цитированием

  #2  
Старый 12.12.2009, 10:46
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

FW 3.5

LINQ

if (listView1.Items.OfType<ListViewItem>().Where(a => a.SubItems[1].Text != Тут текст).Count() > 0)
{
return;
}
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #3  
Старый 12.12.2009, 17:03
WAYS
Познающий
Регистрация: 12.11.2008
Сообщений: 33
Провел на форуме:
67053

Репутация: 15
Отправить сообщение для WAYS с помощью ICQ
По умолчанию

ты наверное не понял что мне нужно.
Я записал твою функцию так
Код:
if (listView1.Items.OfType<ListViewItem>().Where(a => a.SubItems[1].Text != all[i].ToString()).Count() == 0)
Результат:
 
Ответить с цитированием

  #4  
Старый 12.12.2009, 17:18
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от WAYS  
ты наверное не понял что мне нужно.
Я записал твою функцию так
Код:
if (listView1.Items.OfType<ListViewItem>().Where(a => a.SubItems[1].Text != all[i].ToString()).Count() == 0)
Результат:
textBox1.Text.Distinct().ToList().ForEach(a => MessageBox.Show(a + "|" + textBox1.Text.Count(b => a == b).ToString()));
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #5  
Старый 12.12.2009, 19:49
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от WAYS  
if(listView1.FindItemWithText(all[i].ToString()) == null)....
Какая жуть ....

WAYS, ты слышал про абстрактные типы данных? Dictionary например ?
Я конечно понимаю, что у тебя это первая-вторая программа в жизни, но нельзя же писать такой "код", нельзя никогда...
 
Ответить с цитированием

  #6  
Старый 14.12.2009, 02:15
WAYS
Познающий
Регистрация: 12.11.2008
Сообщений: 33
Провел на форуме:
67053

Репутация: 15
Отправить сообщение для WAYS с помощью ICQ
По умолчанию

Цитата:
Сообщение от W!z@rD  
textBox1.Text.Distinct().ToList().ForEach(a => MessageBox.Show(a + "|" + textBox1.Text.Count(b => a == b).ToString()));
Честно говоря это гениально, я могу удалить почти весь этот код программы. Осталось только понять, как мне в этом методе задать несколько параметров. В данном способе можно только 1
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
windows , поиск текста в файле 1NtR0 Болталка 5 06.06.2009 01:30
Paros - инструмент для исследования веб-приложений Kuzya Авторские статьи 2 10.04.2009 17:37
Перевод официальной документации Nikto 2 Kuzya Авторские статьи 2 25.03.2009 01:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ