배열에서 첫 번째 요소를 제외한 모든 요소 가져 오기


130

첫 번째 요소를 제외한 간단한 배열에서 모든 것을 얻을 수있는 한 줄의 쉬운 linq 표현식이 있습니까?

for (int i = 1; i <= contents.Length - 1; i++)
    Message += contents[i];

응축하기 쉬운 지 확인하고 싶었습니다.

답변:


244

예, Enumerable.Skip 은 원하는 것을 수행합니다.

contents.Skip(1)

그러나 배열 사용을 원하면 결과는 IEnumerable <T>입니다.

contents.Skip(1).ToArray()

구조체 contents의 새 인스턴스에서 배열 을 래핑하는 것도 가능합니다 ArraySegment<>. 당시 위의 대답은 유용되지 않았 음을, 기록했지만, .NET 4.5부터 ArraySegment<>구현 IList<>, IReadOnlyList<>그리고 (포함한 기본 인터페이스 IEnumerable<>), 당신은 예를 들어를 통과 할 수 있도록 ArraySegment<>string.Join.
Jeppe Stig Nielsen

Linq를 싫어하는 한, 응용 프로그램 부팅마다 한 번씩 정적 생성자에서 실행되므로 성능 오버 헤드가 존재하지 않기 때문에 이것을 견딜 수 있다고 결정했습니다.
Krythic

7

다음은 for루프 와 동일합니다 .

foreach (var item in contents.Skip(1))
    Message += item;

1
var item했나요 ??
Joe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.