Я хочу получить элемент или его список из моего списка, не используя цикл foreach, потому что мой список очень большой, также мне нужно сделать еще один цикл для результата, чтобы точка алгоритмическая сложность обзора не рекомендуется использовать две петли внутри друг друга.Извлечение элемента из списка без цикла
ответ
Если вы можете получить один элемент из списка без циклов, вы можете использовать функции LINQ (first, firstOrdefault, Single, SingleOrdefault), которые могут дать вам один элемент из вашего списка, также если вам нужно более одного раза, вы можете использовать где с ToList в конце для cast.all эти функции принимают в качестве параметров lambda выражение. Также проверьте эти ссылки, чтобы понять, почему я прав:
- http://www.anujvarma.com/replacing-foreach-loops-with-linq-expressionsa-performance-gain/
- http://www.anujvarma.com/linq-versus-loopingperformance/
- http://code-fight.club/fight/7/linq-vs-foreach
До тех пор, пока у вас есть большая коллекция размер, LINQ является правильным выбором.
Linq использует петли (внутренние) – fubo
Да, но это занимает меньше времени, чем обычный цикл. попробуйте и вычислите время выполнения, чтобы увидеть результат. –
LINQ - это действительно путь. Более читаемый и поддерживаемый код; но немного медленнее (в 99% случаев не имеет значения). –
Ответ зависит от среднего, чтобы определить, какой элемент вы хотите. Дело в том, что List будет иметь сложность O (1), если у вас есть индекс элемента, который вы хотите найти; в противном случае он всегда будет иметь сложность O (n) (LINQ или нет).
Однако, если вам нужно извлечь много элементов в вашей коллекции, а затем использовать цикл на них, LINQ позволит вам сделать это только один петлю (на всех элементах коллекции) легко:
foreach (var element in myCollection.Where(myCondition))
Если вы хотите найти свой элемент с меньшей сложностью, чем O (n), вы должны посмотреть HashSet<T>
и Dictionary<TKey, TValue>
.
Но ваш вопрос недостаточно точен, чтобы дать вам более конкретный ответ.
- 1. Извлечение элемента из списка
- 2. Извлечение элемента из списка
- 3. Извлечение элемента из списка выводит список без выделенного элемента
- 4. Извлечение векторов из strsplit списка без использования цикла
- 5. Извлечение выбранного элемента из списка
- 6. Извлечение элемента из созданного списка
- 7. Извлечение элемента из списка списков?
- 8. Извлечение элемента из вида списка
- 9. Извлечение элемента из списка C#
- 10. Извлечение элемента из списка - C#
- 11. Извлечение значений объекта из QuerySet без цикла
- 12. Извлечение строки из вектора без использования цикла
- 13. Извлечение элемента из списка списков в R?
- 14. Извлечение элемента из списка массивов в Android?
- 15. Dart Polymer: Извлечение элемента из списка
- 16. Python beginner - извлечение int из элемента списка
- 17. Извлечение совпадающего элемента из кортежа внутри списка
- 18. Удаление элемента из списка, используя для цикла
- 19. Извлечение нескольких столбцов без цикла
- 20. Извлечение элемента из ObservableCollection
- 21. Извлечение значений из списка без регулярных выражений
- 22. Извлечение элемента из RecyclerView
- 23. Извлечение элемента из списка на основе выбранного значения
- 24. Извлечение списка из Firebase
- 25. Извлечение списка значений из списка maybes без fromJust
- 26. Извлечение элемента из вложенных списков
- 27. Извлечение элементов из списка
- 28. Извлечение списка из списка в словаре
- 29. Извлечение элемента из ArrayList
- 30. Извлечение элемента из ng-model
как вы определяете элемент? Индекс, условие? – fubo
HashTable может вам помочь. – zypro
У меня есть список объектов, иногда мне нужно условие для свойства и для получения одного элемента я использую id. –