일반 배열에서 요소 제거
Q: 일반 객체 배열에서 요소를 제거해야 합니다. 특히 두 번째 요소를 제거하고 싶습니다. 목록의 RemoveAt() 메서드와 유사한 작업을 수행하는 방법이 있나요?
답변 1(목록 사용):
목록을 사용하고 싶다면 배열을 목록으로 변환하고 요소를 제거한 다음 다시 배열로 변환할 수 있습니다.
<code class="language-csharp">var foos = new List<foo>(array); foos.RemoveAt(index); return foos.ToArray();</code>
답변 2(확장 방법):
목록을 사용하는 대신 이 작업 전용 확장 메서드를 사용할 수 있습니다. 예를 들면 다음과 같습니다.
<code class="language-csharp">public static T[] RemoveAt<T>(this T[] source, int index) { T[] dest = new T[source.Length - 1]; if (index > 0) Array.Copy(source, 0, dest, 0, index); if (index < source.Length - 1) Array.Copy(source, index + 1, dest, index, source.Length - index - 1); return dest; }</code>
이 확장 방법을 사용하면 다음과 같이 두 번째 요소를 제거할 수 있습니다.
<code class="language-csharp">Foo[] bar = GetFoos(); bar = bar.RemoveAt(1); // 注意:数组索引从0开始,所以第二个元素的索引是1</code>
위 내용은 C#의 일반 배열에서 요소를 제거하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!