Кто-нибудь знает о классе .NET для инкапсуляции коллекции объектов (строк в моем случае), которые позволяют читать, искать и т. Д. В стиле Stream. По сути, мне нужен список с методом GetNext, который вернет следующий объект и обновит текущая позиция чтения.
Это несложно реализовать (возможно, с помощью методов расширения), но я хотел использовать любые уже разработанные классы .NET, которые, возможно, уже существуют.
РЕДАКТИРОВАТЬ: я хочу добавить, что данные всегда будут доступны в прямом порядке (т.е.нет необходимости искать конкретную позицию) или просто сбросить до нуля. Так что похоже, что IEnumerator может работать.
3 ответа
Это то, что делает IEnumerable / IEnumerator. Просто вызовите GetEnumerator () в своем списке и используйте элементы IEnumerator Current
/ MoveNext()
.
Если вам нужна дополнительная функциональность с точки зрения перемещения указателя текущей записи, вы можете найти то, что вам нужно, просто используя метод расширения Take()
. Реализовать IEnumerable, который поддерживает внутреннее состояние, также очень просто.
Всегда есть IEnumerable. Конечно, ограничение в том, что вы не можете искать назад.
BinaryReader / < b> BinaryWriter имеет функции для сериализация всех примитивных типов. Если вы знаете, какого типа ожидать, это должно сработать для вас. Искать будет сложно, если вы ожидаете, что он будет поддерживать границы строк, но он отлично подойдет для прямого чтения всех примитивов.
Похожие вопросы
Новые вопросы
.net
НЕ используйте для вопросов о .NET Core - используйте вместо этого [.net-core]. .NET Framework - это программная среда, предназначенная главным образом для операционной системы Microsoft Windows. Он включает в себя реализацию библиотеки базовых классов, общеязыковой среды выполнения (обычно называемой CLR), общей системы типов (обычно называемой CTS) и динамической среды исполнения. Он поддерживает множество языков программирования, включая C #, VB.NET, F # и C ++ / CLI.