잠재적으로 데이터의 무한 "스트림"(바이트, 문자 등)에서 작동하는 함수를 작성할 때 입/출력을 위해 문자열/배열 대 스트림을 사용하기로 결정할 때 고려해야 할 몇 가지 설계 고려 사항은 무엇입니까? ?C# 배열 대 스트림
항상 스트림을 사용하는 함수를 작성한 다음 스트림 래퍼 (예 : StringReader/Writer)를 사용하여 배열이나 문자열과 같은 "간단한 데이터"를 반환하여 처리하지 않아도되는 오버로드 메서드를 만드는 데 큰 성능 영향이 있습니까? 다른 고려 사항들?
배열에서 작동하는 함수가 훨씬 더 편리하다고 생각할 수 있습니다. 왜냐하면 결과 배열을 "반환"할 수 있고 일반적으로 처분에 대해 걱정할 필요가 없기 때문입니다. 나는 스트림 운영자가 무한한 데이터 소스에서 작동 할 수 있다고 생각한다. 아마 메모리 효율적인 것일 것이다.
(LinkedList 이외의) 사용하는 모든 종류의 콜렉션 또는 스트림 클래스는 궁극적으로 코어의 바이트 []로 귀결됩니다. 기계가 지원하는 근본적이고 유일한 수집 유형. 분명히 고통스러운 임피던스 불일치 일 수 있습니다. 도구 상자에있는 것을 사용하고 이미이를 수행하는 것이 좋습니다. –