REQUEST)
byte[] messageBytes = new byte[delimiterIndex];
Array.Copy(data, 0, messageBytes, 0, delimiterIndex);
byte[] transactionCodeBytes = messageBytes[0..5];
--------messageBytes[0..5]-------------------------------------------
위는 5바이트 인가요?
RESPONSE)
네, byte[] transactionCodeBytes = messageBytes[0..5];는 5바이트의 배열을 의미합니다.
C#에서 messageBytes[0..5] 구문은 messageBytes 배열의 0번 인덱스부터 5번 인덱스까지의 부분 배열을 생성합니다. 이는 0부터 4까지 인덱스를 포함하므로 총 5개의 바이트가 됩니다.
구체적으로:
- messageBytes[0..5]는 messageBytes 배열의 0번 인덱스부터 4번 인덱스까지의 바이트를 포함한 배열입니다.
- 배열 인덱스 범위는 [startIndex..endIndex) 형식이므로, 0..5는 0부터 4까지, 총 5개의 바이트를 포함합니다.
예시:
byte[] messageBytes = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }; byte[] transactionCodeBytes = messageBytes[0..5]; // [0, 1, 2, 3, 4] 바이트 포함 |
REQUEST)
messageBytes[0..4] 가 5바이트 아닌가요?
RESPONSE)
messageBytes[0..4]는 5바이트가 아니라 4바이트입니다.
C#에서 messageBytes[0..4] 구문은 0번 인덱스부터 3번 인덱스까지의 바이트를 포함하는 부분 배열을 생성합니다. 이는 인덱스가 0부터 시작하고, 4는 포함되지 않기 때문에 총 4개의 바이트를 반환합니다.
인덱스 범위 설명:
- messageBytes[0..4]는 0, 1, 2, 3번 인덱스를 포함하는 부분 배열이므로, 총 4개의 바이트입니다.
- [start..end) 범위에서 end는 포함되지 않습니다.
예시:
byte[] messageBytes = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }; byte[] transactionCodeBytes = messageBytes[0..4]; // [0, 1, 2, 3] 바이트 포함 |
이 경우, transactionCodeBytes는 [0x01, 0x02, 0x03, 0x04] 값이 포함된 4바이트 배열이 됩니다.
'c# 언어 > 중급과정' 카테고리의 다른 글
HashSet<T>의 Add 메서드는 중복된 값을 허용하지 않습니다. (0) | 2025.01.21 |
---|---|
[Dot.Net]AppDomain.CurrentDomain.BaseDirectory: 현재 실행 중인 프로그램의 경로를 반환합니다. (0) | 2025.01.18 |
Json 구조체.출력형태 코드(따로따로, 혹은 전체) (0) | 2025.01.16 |
Visual Studio에서 app.manifest 파일 생성 및 설정 방법 (0) | 2025.01.15 |
C#의 Queue<T>는 기본적으로 동적 크기로 결정됩니다. (0) | 2025.01.09 |