|
except между list<object>
|
|||
---|---|---|---|
#18+
есть 2 листа объектов. Хочу оставить только объекты, которых нет в dev. как это сделать? так не работает Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 12:27 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecтак не работаетвыдается сообщение "не работает"? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 12:32 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovec Код: sql 1.
А как ты сравниваешь Doc? По Id, title или в принципе - так, похожи? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 12:33 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 12:34 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомА как ты сравниваешь Doc? По Id, title или в принципе - так, похожи?Ну для начала, надо выяснить, что такое Doc - класс или структура ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 12:36 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 13:04 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Теперь второй вопрос, экземпляры классов в списке dev те же, что и в списке BD? Или только значения свойств совпадают? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 13:11 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
ну и теория, которую надо знать https://blog.rc21net.ru/csharp-sravnenie-obektov/ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 13:13 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProТеперь второй вопрос, экземпляры классов в списке dev те же, что и в списке BD? Или только значения свойств совпадают? значения свойств совпадают ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 13:21 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecзначения свойств совпадаютно объекты-то разные. Раз в списках нет одинаковых объектов, то и Except ничего не исключает. Тут два выхода а) читать учебник б) заменить class на struct (раз лень читать учебник) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 13:29 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovec, https://docs.microsoft.com/ru-ru/visualstudio/ide/reference/generate-equals-gethashcode-methods?view=vs-2017 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 13:47 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
hVostt, я лично (если задачка сравнения локальная) предпочитаю компараторы ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 14:04 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
а если из двух листов сделать 2 datatable, тогда получится сделать except ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 14:09 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecа если из двух листов сделать 2 datatable, тогда получится сделать except ?стань волшебником ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 14:14 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecа если из двух листов сделать 2 datatable, тогда получится сделать except ?офигел что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 14:35 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovec, Можно еще в бд загнать и на sql сравнить.) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 14:36 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovec, дали ведь тут 21712313 ссылку. Там почти один в один твой случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 14:38 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123NewIvanovec, Можно еще в бд загнать и на sql сравнить.) В 1С так и делают. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 14:42 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
да переопределить нужно пару методов, Хвост уже дал ссылку ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 19:04 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Arm79да переопределить нужно пару методов, Хвост уже дал ссылкуесли не упадет в другом месте. Нет однозначности в нашем мире. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 19:14 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovec, 3ий вариант решения создать копию списка List<string> Например из айдишников, ГУИДов и т. д. И потом intersect ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 19:33 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123NewIvanovec, 3ий вариант решения создать копию списка List<string> Например из айдишников, ГУИДов и т. д. И потом intersectсмысл-то? Потом все равно потребуется фильтровать основной лист ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 20:00 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Pro, Наверно ты прав. У меня юзкейс был другой. Нужен был только список айдишников. Поэтому прокатил вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 20:15 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123Shocker.Pro, Наверно ты прав. У меня юзкейс был другой. Нужен был только список айдишников. Поэтому прокатил вариант.даже в этом случае копию создавать излишне. Select тебе в помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 20:20 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Pro, Не. Мне список айдишников передавать в модуль удаления. Поэтому сами объекты не нужны далее. Тут у ТСа тоже нужно знать что потом далее. Поэтому формально тут два решения. Остальные как бонусы) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 22:22 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123Не. Мне список айдишников передавать в модуль удаленияЕще раз. Petro123вариант решения создать копию списка List<string>Копию List для того, чтобы делать над ними Intersect, не нужно, достаточно сделать intersect(except и т.п.) над Select-ами из обоих списков. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2018, 23:10 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Pro, Приведи тогда уж пример чтобы вопрос закрыть. Я делал var c = Без ".....ToList(). Копия это в оперативке или нет, х. З. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 07:12 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123х. З.оооо, все плохо похоже, ты пропустил несколько глав про перечисления, конвейер, yield и Linq цитировать все это нет смысла, слишком много ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 09:27 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Pro, Передавать ленивые linq-выражения в другие функции может быть чревато. Например, потерей соединения с DB, из которой они извлекают данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 09:48 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомShocker.Pro, Передавать ленивые linq-выражения в другие функции может быть чревато. Например, потерей соединения с DB, из которой они извлекают данные. Т.е. если извлекать данные сразу на месте, то соединение не потеряется? Т.е. функции при передаче куда-то где-то задерживаются? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 09:52 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Pro, Конечно я пропустил). Я экстерном и быстро учусь. Копию списка я скорее всего говорил в бизнес понимании и программистком. var c = коллекция select без окончания ToList() будет копия переменной списка на один список в памяти. Так? Тогда нет споров. Два ответа и третий ответ как бонус. Суть кода ты понял, а о терминологии слова "копия" или "реализует" можно спорить бесконечно)) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 09:54 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомShocker.Pro, Передавать ленивые linq-выражения в другие функции может быть чревато. Например, потерей соединения с DB, из которой они извлекают данные.Ну ленивые и DB это каждый сам смотрит. Больше значение имеют потоки. Или память освободить. Всё надо учитывать в коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 09:57 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecесть 2 листа объектов. Хочу оставить только объекты, которых нет в dev. как это сделать? так не работает Код: sql 1. 2. 3.
А переделайте на массивы структур. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:00 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123var c = коллекция select без окончания ToList() будет копия переменной списка на один список в памяти. Так? Тогда нет споров. O_O Не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:02 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныАгнец за бортомShocker.Pro, Передавать ленивые linq-выражения в другие функции может быть чревато. Например, потерей соединения с DB, из которой они извлекают данные. Т.е. если извлекать данные сразу на месте, то соединение не потеряется? Т.е. функции при передаче куда-то где-то задерживаются? Ты реально не понимаешь, о чём я? Или так, шутки такие? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:04 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортом, Тогда щаз код дам) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:10 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомПередавать ленивые linq-выражения в другие функции может быть чревато.да, но речь шла всего лишь о том, чтобы получить список ID Код: c# 1.
без промежуточной материализации, я удивился что в знаниях Пети оказался такой большой пробел ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:21 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123коллекция selectSelect не является коллекцией, дальше можно не читать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:22 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
skyANAА переделайте на массивы структур. 21712277 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:25 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProskyANAА переделайте на массивы структур. 21712277 Я это видел. Там ни слова про массивы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:27 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Proбез промежуточной материализации, я удивился что в знаниях Пети оказался такой большой пробел у меня тот ж код но без конвейера и ToList() Ты поторопился и я тобой не удивлен. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:34 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProPetro123коллекция selectSelect не является коллекцией, дальше можно не читатьтупишь? Коллекция Точка оператор select ))) не торопись писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:36 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
skyANAЯ это видел. Там ни слова про массивы.Ну List - это тоже массив в некотором смысле, с точки зрения решения задачи разницы не будет Что-то вот только ТС запропал куда-то. Наверное не успевает пробовать все то, что ему предложили ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:36 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Pro, Массив тут антипаттерн. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 10:43 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123Shocker.Pro, Массив тут антипаттерн. С чего вдруг? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 12:00 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
skyANAPetro123Shocker.Pro, Массив тут антипаттерн. С чего вдруг?это хто? Я разве с вами? У меня тут фильтр стоит. Я Shocker.Pro отвечал. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 12:19 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123skyANAпропущено... С чего вдруг?это хто? Я разве с вами? У меня тут фильтр стоит. Я Shocker.Pro отвечал. Что-то фиговый у тебя фильтр. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 12:25 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123Shocker.Pro, Массив тут антипаттерн.С чего вдруг? Если коллекция не изменяется с момента создания, то создавать List избыточно, достаточно ToArray ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 13:58 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProЕсли коллекция не изменяется с момента создания, то создавать List избыточно, достаточно ToArrayна Метод решения не тянет. Это же просто окончательный формат результата. Можно и через разделители)). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:08 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProPetro123Shocker.Pro, Массив тут антипаттерн.С чего вдруг? Если коллекция не изменяется с момента создания, то создавать List избыточно, достаточно ToArray Я вообще про то, что и dev и BD - это массивы, а не к чему результат Except приводить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:13 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Pro Код: c# 1.
это решение. А материализация или формат на выходе это ньюансы. Хоть ToHtml() ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:16 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123Shocker.Pro Код: c# 1.
это решение. А материализация или формат на выходе это ньюансы. Хоть ToHtml()Ты предлагал другое: Код: c# 1.
и я сказал, что промежуточная материализация избыточна ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:19 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомПередавать ленивые linq-выражения в другие функции может быть чревато.Как то раз у меня yield поднимался на десяток уровней: цикл просмотра папок на ftp цикл просмотра zip-файлов в папке + выборочное скачивание цикл просмотра файлов внутри архива + выборочная распаковка цикл просмотра узлов в полученном xml цикл просмотра подузлов yield и ничего - работало. Такой подход позволял прервать весь стек, когда нужная информация найдена, и был предельно нагляден ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:31 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProАгнец за бортомПередавать ленивые linq-выражения в другие функции может быть чревато.Как то раз у меня yield поднимался на десяток уровней: цикл просмотра папок на ftp цикл просмотра zip-файлов в папке + выборочное скачивание цикл просмотра файлов внутри архива + выборочная распаковка цикл просмотра узлов в полученном xml цикл просмотра подузлов yield и ничего - работало. Такой подход позволял прервать весь стек, когда нужная информация найдена, и был предельно нагляден Я просто обратил внимание, что linq-выражение без материализации "вычисляются" не по месту объявления, а по месту начала итерирования/материализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:33 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомЯ просто обратил внимание, что linq-выражение без материализации "вычисляются" не по месту объявления, а по месту начала итерирования/материализации.В смысле "обратил внимание"??? Вообще-то так и задумано. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:34 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Материализация - это и есть итерирование - масло масляное ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:34 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProВообще-то так и задумано. Ну не твоё же. Не всем это оказалось известно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:38 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProМатериализация - это и есть итерирование - масло масляное Ну... Как бы нет. Результат разный. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:39 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомНу... Как бы нет. Результат разный.итерирование выдаст материальный результат, а уж сложишь ты его в массив или в dev/null - значения не имеет ) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:40 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProТы предлагал другое: Код: c# 1.
любишь ты за других думать. Не думай о других плохо услышав слово "копия". "Это избыточно" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:45 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123любишь ты за других думать. Не думай о других плохо услышав слово "копия".сказано было четко и ясно Petro123создать копию списка List<string> ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 14:51 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.ProPetro123любишь ты за других думать. Не думай о других плохо услышав слово "копия".сказано было четко и ясно Petro123создать копию списка List<string> Код: c# 1. 2. 3.
Выше говорил что у тебя просто конвейер. Не стоит обсуждения такие мелочи. Все знают что в конвейре глупо писать два раза toList ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 15:38 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
типа отмазался - "все знают" ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 15:50 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Shocker.Proтипа отмазался - "все знают" тебя торопыгу тоже все знают) Не спорь понапрасну. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 15:56 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
я сравниваю так: Код: c# 1. 2. 3. 4. 5. 6. 7.
но в одном списке больше 2 млн и в другом тоже и получается очень долго. можно ускориться как-то ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 10:48 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecя сравниваю так: Код: c# 1. 2. 3. 4. 5. 6. 7.
но в одном списке больше 2 млн и в другом тоже и получается очень долго. можно ускориться как-то ? А ты из крутых. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 10:54 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортом, )) NewIvanovecбольше 2 млнкак получил? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 10:57 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Щаз опять пропадет на неделю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 11:00 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
получил из базы. на клиентской стороне имеет смысл сравнивать или на стороне сервера это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 11:12 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecя сравниваю так: Код: c# 1. 2. 3. 4. 5. 6. 7.
но в одном списке больше 2 млн и в другом тоже и получается очень долго. можно ускориться как-то ? list2.Any? без Count ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 11:19 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecполучил из базы. на клиентской стороне имеет смысл сравнивать или на стороне сервера это сделать?правило программиста1 - пишем на том на чем умеем. Умеем в базе значит там. Ну или где бы ты хотел. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 11:19 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecна клиентской стороне имеет смысл сравнивать или на стороне сервера это сделать?Конечно на стороне базы, зачем тащить миллионы записей на клиента, чтобы потом оставить только несколько. Тут самое большое время уйдет даже не на отбор на клиенте, а не переброску данных и создание огромного массива на клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 11:21 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovec, Код: 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 11:44 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортом, Тебе рядом IL код не нравился, а тут чем пугаешь автора?)) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 11:50 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортом, Тебе рядом IL код не нравился, а тут чем пугаешь автора?)) Вообще тебя не понял. Готовое решение, тебе не нравится? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 11:54 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovecя сравниваю так: Код: c# 1. 2. 3. 4. 5. 6. 7.
но в одном списке больше 2 млн и в другом тоже и получается очень долго. можно ускориться как-то ? У Вас же List<T> используется, зачем Linq? List<T>.Exists(Predicate<T>) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 12:01 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123Агнец за бортом, Тебе рядом IL код не нравился, а тут чем пугаешь автора?)) Вообще тебя не понял. Готовое решение, тебе не нравится?для автора сложно. Ему 1 или 3 строки надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 12:05 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123для автора сложно. Ему 1 или 3 строки надо. Как в этом куске треша? skyANA Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 12:11 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортом, Угу)) Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 12:18 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортом, Угу)) Код: c# 1. 2.
With comparator it takes 6,8047 milliseconds With pure LINQ it takes 44,5104 milliseconds skyana trash it takes 4131,9624 milliseconds Короче, на двух лямах объектов код от skyana уходит в глубокий анабиоз. Это на 20 000 объектах, иначе никак - время растёт по экспоненте. Сложность алгоритма? Не, не слышали. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 12:29 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомNewIvanovec, int GetHashCode(Doc obj) { return obj.vopros.GetHashCode(); } Большое спасибо. пробую применить. Если у меня 2 поля в объекте, тогда как будет выглядеть хэш таблица Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 12:32 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортом, Да. Хороший пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 12:33 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
у List<T> кстати, есть бинарный поиск BinarySearch, список должен конечно же быть отсортирован. у него сложность O(log n) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 12:43 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Ещё раз большое спасибо! последний пример от Агнец за бортом в моём случае за секунды сделал except на 2 млн ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 14:06 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
NewIvanovec, хеш не гарантирует уникальность, хеш-таблица устроена немного сложнее ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 14:17 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123Агнец за бортом, Угу)) Код: c# 1. 2.
With comparator it takes 6,8047 milliseconds With pure LINQ it takes 44,5104 milliseconds skyana trash it takes 4131,9624 milliseconds Короче, на двух лямах объектов код от skyana уходит в глубокий анабиоз. Это на 20 000 объектах, иначе никак - время растёт по экспоненте. Сложность алгоритма? Не, не слышали. Самый быстрый способ решил найти? Лови: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
With comparator it takes 1068.0949 milliseconds With pure LINQ it takes 6091.5311 milliseconds With HashSet it takes 573.9623 milliseconds ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 14:47 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
skyANAЛови Че "лови", вынес создание сета за таймер и типа всех обманул? Что ты за эмо такое, лажа за лажей. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 15:24 |
|
except между list<object>
|
|||
---|---|---|---|
#18+
Агнец за бортомskyANAЛови Че "лови", вынес создание сета за таймер и типа всех обманул? Что ты за эмо такое, лажа за лажей. Хочешь создание во всех случаях включитбь в таймер? Не вопрос: With comparator it takes 2138.3912 milliseconds With pure LINQ it takes 8084.1227 milliseconds With HashSet it takes 1642.8458 milliseconds ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2018, 16:04 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1399190]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
98ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
97ms |
get tp. blocked users: |
1ms |
others: | 283ms |
total: | 514ms |
0 / 0 |