정수 배열이 있는데, 여기서 인덱스 10부터 시작하는 배열에 관심이 있습니다. 따라서 11 번째 이후 요소로 구성된 새로운 배열을 반환하는 메서드를 작성하고 있습니다. Array.Copy를 시도했지만 필요한 옵션이 없습니다. 무엇이 최선의 방법이 될까요?효율적으로 배열의 일부를 반환하는 방법 (색인에서)?
0
A
답변
1
당신이 경량 구조체 인 ArraySegment
var source = new int[20];
var segment = new ArraySegment<int>(source, 10, source.Length - 10);
을 사용할 수 있습니다 당신이 그것을에 LINQ를 사용할 수 있도록 그것은 IEnumerable<T>
인터페이스를 구현합니다.
편집 :
source.Skip(9).ToArray(); // skip from 0 to 9 and use a rest of source array
그러나이 배열
0
public static T[] SubArray<T>(this T[] data, int index, int length)
{
T[] result = new T[length];
Array.Copy(data, index, result, 0, length);
return result;
}
int startIndex=10;
int[] data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
int[] sub = data.SubArray(startIndex, (data.Length-startIndex)-1));
+0
그런 방법은 없습니다 : SubArray. – Dmitry
+0
감사 드미트리, 지정된 방법의 코드가 게시 된 솔루션에 업데이트되었습니다. –
관련 문제
- 1. 배열의 일부를 뒤집는 방법?
- 2. 파일의 일부를 효율적으로 반환하는 방법은 무엇입니까? 우리의 프로젝트에서
- 3. 배열의 문자열을 반환하는 방법
- 4. 문자열의 일부를 색인에서 다음 공백으로 분리합니까?
- 5. graphQL에서 배열의 일부를 업데이트하십시오.
- 6. 배열의 일부를 할당에 복사
- 7. 문자 배열의 일부를 문자열로 변환하는 방법
- 8. mongodb에서 하위 문서 배열의 일부를 선택하는 방법?
- 9. 문자열의 일부를 struct 배열의 요소에 복사하는 방법?
- 10. 문자 배열의 일부를 NSString *으로 변환하는 방법?
- 11. ForEach 루프에서 2D 배열의 일부를 사용하는 방법?
- 12. 배열의 모든 값을 반환하는 방법
- 13. 개체 배열의 인덱스를 반환하는 방법?
- 14. 색인에서 객체를 사용하여 배열의 문자열을 변경하십시오.
- 15. 지도 색인에서 nil을 반환하는 clojure 순환
- 16. 큰 데이터 구조를 효율적으로 반환하는 방법.
- 17. 포함되지 않은 배열의 일부를 제거하십시오.
- 18. 두 배열의 일부를 함께 결합합니다.
- 19. 코드 문서의 일부를 반환하는 PHP
- 20. numpy 배열의 순서를 효율적으로 변경하십시오.
- 21. 배열의 요소 순위를 효율적으로 찾습니까?
- 22. numpy 배열의 열을 효율적으로 분할
- 23. 스핑크스 색인에서 제안하는 방법?
- 24. PHP가 중첩 배열의 일부를 설정 해제했습니다.
- 25. 배열의 역을 반환하는 메서드입니다.
- 26. VBA 함수에서 두 배열의 배열을 반환하는 방법
- 27. anglejs를 사용하여 배열의 요소 색인을 반환하는 방법
- 28. 방법 문자열의 일부를 저장하는 방법
- 29. 배열의 일부를 C#의 다른 배열에 복사하는 방법?
- 30. Julia : 지정된 치수를 따라 배열의 일부를 추출하는 방법
배열이'입니다 복사에 대한 추가 메모리를 할당합니다 : 경우 당신은 정말 당신이 LINQ로 새로운 배열을 만들 수 있습니다 반환 형식으로 배열 필요 IEnumerable' 그래서'Skip()'과'Take()'를 사용하십시오. – Crowcoder