Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/106: Рейтинг темы: голосов - 106, средняя оценка - 4.76
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913

Сравнение двух List<string>

04.04.2011, 12:53. Показов 21735. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 2 листа
C#
1
2
public static List<string> sFullFileName = new List<string>();
public static List<string> sReportFileName = new List<string>()
В 1 , например "a","b","c", во 2 - "a","b". Как сравнить эти 2 листа и при совпадении выдать сообшение, что мол, строки а и b существуют в 1 листе , а с - нет. Спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2011, 12:53
Ответы с готовыми решениями:

Сравнение двух List<string>
Есть два списка buf1, buf2 В buf1 содержатся символы 6 7 8 9 в buf2 содержатся символы

Сравнение двух List
Всем доброго времени суток Прошу помощи! Задача такая есть папка с файлами некоторые файлы увеличиваются в размере нужно определить...

Ускорить сравнение двух List<>
Нужно сравнить два листа, если объекта из первого листа нет во втором, то нужно добавить его в третий. Сейчас у меня сделано так: Класс...

8
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
04.04.2011, 13:28
есть ли какой-нибудь стандартный метод - не знаю...а если самому делать - тогда полным перебором обоих списков...как-нибудь так например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
            List<string> sFullFileName = new List<string>();
            List<string> sReportFileName = new List<string>();
            List<string> result = new List<string>();
            sFullFileName.Add("a");
            sFullFileName.Add("b");
            sFullFileName.Add("c");
            sReportFileName.Add("a");
            sReportFileName.Add("b");
            for (int i=0; i<sFullFileName.Count; i++)
                for (int j=0; j<sReportFileName.Count; j++)
                    if (sFullFileName[i] == sReportFileName[j])
                    {
                        result.Add(sFullFileName[i]);
                        break;
                    }
            string s="";
            for (int i=0; i<result.Count; i++) s += result[i] + System.Environment.NewLine;
            MessageBox.Show(s);
а можно еще сделать так: скопировать второй список в еще один список. и дальше работать с ним, удаляя из него те элементы которых есть в первом списке...
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
04.04.2011, 13:46  [ТС]
Спасибо, только мне нужно не только результаты совпадения Задача такая, проверяю, есть ли в sReportFileName строка из sFullFileName. Если есть, то открываю файл для дозаписи с именем , равным этой строке, если нет, то открываю новый фаил с этим именем. Поставила в вашем коде else, но почему-то не вышло, то что хотела ...
0
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
04.04.2011, 13:49
дай код того, что у тебя получилось...
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
04.04.2011, 14:01  [ТС]
Там, вообще-то много балагана, спасибо, что смотришь
Вложения
Тип файла: rar TestDB.rar (24.9 Кб, 54 просмотров)
0
62 / 51 / 15
Регистрация: 08.07.2010
Сообщений: 119
04.04.2011, 14:09
Есть стандартные методы
C#
1
2
3
4
5
6
List<string> sFullFileName = new List<string>();
List<string> sReportFileName = new List<string>();
sFullFileName.AddRange(new string[] { "df", "1", "2" });
sReportFileName.AddRange(new string[] { "1", "2" });
var t = sFullFileName.Except(sReportFileName); //Есть в 1-м, нет во 2-м
t = sFullFileName.Except(sFullFileName.Except(sReportFileName)); //Одинаковые записи
2
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
04.04.2011, 14:24
слушай, тот кусок, что я написал - его я нашел, но ошибок - не увидел...все должно работать...быть может, некоторые действия там лишние, но работать должно...

ты дебажила? у тебя там точно в sFullFileName и sReportFileName записи есть? может они пустые отдаются? поставь брекпойнтов, попроверяй... у меня все на ура отрабатывает...
1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
04.04.2011, 16:22  [ТС]
Спасибо - всем!
0
24 / 23 / 5
Регистрация: 14.04.2010
Сообщений: 41
04.04.2011, 20:26
Лучший ответ Сообщение было отмечено как решение

Решение

C#
1
2
3
4
List<String> A = new List<string>() { "a", "b", "c", "d" };
List<String> B = new List<string>() { "a", "c"};
 
List<String> Result = A.Where(a => B.Contains(a)).ToList();
На выходе: a, c
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.04.2011, 20:26
Помогаю со студенческими работами здесь

Сравнение двух list разных размеров
Здравствуйте. Есть два List. В первом 50 записей, в другом 6 записей. Как можно проверить наличие записей из второго List в первом? Я...

Unit тестирование и сравнение двух List<T>
Всем привет, пишу юнит тест на функцию сортирования при котором я сравниваю 2 листа. 1 уже отсортирован по умолчанию, 2 сортирую. Тест...

Разбить List<string> на несколько обьектов c List<string>
Задумался как я то кусочками все делить оказалось не так уж просто :scratch: List&lt;string&gt; Разбить на несколько...

Конвертировать один элемент из List<List<Class>> в list и string
Как можно перевести один выбранный элемент из List&lt;List&lt;Data&gt;&gt; myList в list и string? Например, myList. Сейчас я могу с помощью...

Сравнение двух String[] и запись одинаковых элементов в новый массив
Есть две строки, содержащие слова, разделенные пробелом. Нужно их сравнить и вывести количество одинаковых слов. Я преобразовала каждую...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru