Praneet Nadkar Ответов: 1

Что такое коллекция в памяти в C# ?


Я проходил через разницу между IEnumerable и IQueryable, где я видел термин in-memory collection. Может ли кто-нибудь помочь мне с этим ?

Любые ссылки будут заметны

Что я уже пробовал:

Поиск в гугле коллекций в памяти

1 Ответов

Рейтинг:
5

OriginalGriff

Коллекция в памяти - это просто коллекция объектов, которые хранятся в памяти, а не доступны через файл жесткого диска, сервер БД или что-то подобное.
Все стандартные коллекции C# находятся в памяти: List< T>, Queue< T>, Stack< T>, DataTable, DataSet, даже ArrayList и массивы-все это коллекции в памяти. DataReader-это не так: он хранится на сервере и извлекается строка за строкой (за исключением буферизации).


[no name]

Спасибо!
Так что же означает эта строка :
IQueryable подходит для запроса данных из вне-памяти (например, удаленной базы данных, службы) коллекций.

Технически я могу использовать IQueryable или IEnumerable, и то, и другое. В чем же именно разница ?

OriginalGriff

Вы можете использовать любой из них для *некоторых * вещей, но не для всех: IQueryable является производным от IEnumerable, поэтому IQ поддерживает все, что делает IE, плюс он добавляет свои собственные функции.
Здесь есть хорошее описание различий:
http://haroldrv.com/2015/02/what-is-the-difference-between-ienumerable-and-iqueryable/

[no name]

Спасибо!
Это была отличная связь !

OriginalGriff

Пожалуйста!