개발 지식/C#

[C#] ArraySegment

ahrilove 2025. 12. 9. 13:12

[정의]

Array의 일부(구간)를 다루는 구조체

 

[원리]

거대한 배열을 필요한 부분만 캐치하여 사용합니다.

 

[왜?]

보통 Array의 일부를 사용한다고 하면

Copy를 활용하여 Array의 일부를 가져오지만

Copy는 메모리 할당으로 실행하여 최적화에 적합하지 않습니다.(가비지 컬렉터를 사용하여 보완 가능)

하지만 ArraySegment는 메모리 할당 없이 사용할 수 있습니다.


개인정리

[활용법]

서버로부터 브로드캐스팅 형태의 원시데이터를 보내게 되는 경우
(귀찮아서, 데이터 가공에 부담이 가서, ... )

클라이언트는 원시데이터를 받아 지정된 범위의 데이터만 필요하다고 할때 사용할 수 있지 않을까 싶습니다.

아님말고...

'개발 지식 > C#' 카테고리의 다른 글

[C#] MemberwiseClone(얕은 복사)  (0) 2026.02.05
[C#] ArrayPool  (0) 2025.12.09
[C#] 직렬화(Serialization)  (0) 2025.12.01
[C#] 마샬링(Marshaling)  (0) 2025.12.01
[C#] .Net Remoting  (0) 2025.12.01