>백엔드 개발 >C++ >C#의 배열에서 요소를 어떻게 삭제할 수 있나요?

C#의 배열에서 요소를 어떻게 삭제할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2025-01-20 20:36:15630검색

How Can I Delete Elements from an Array in C#?

C# 배열에서 효율적으로 요소 제거

C# 배열은 본질적으로 크기가 고정되어 있습니다. 요소를 직접 제거할 수는 없습니다. 그러나 여러 가지 방법으로 요소 제거를 효과적으로 시뮬레이션할 수 있습니다. 최선의 접근 방식은 .NET Framework 버전과 특정 요구 사항에 따라 다릅니다.

LINQ 활용(.NET Framework 3.5 이상용):

LINQ는 배열 조작을 위한 우아한 솔루션을 제공합니다. 특정 값의 모든 항목을 제거하려면:

<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int valueToRemove = 4;
numbers = numbers.Where(num => num != valueToRemove).ToArray();</code>

첫 번째 항목만 제거하려면 약간 다른 접근 방식이 필요합니다.

<code class="language-csharp">int indexToRemove = Array.IndexOf(numbers, valueToRemove);
numbers = numbers.Where((num, index) => index != indexToRemove).ToArray();</code>

LINQ가 아닌 메서드(.NET Framework 2.0 이상용):

이전 .NET 프레임워크의 경우 기존 배열 방법이 필요합니다. 한 가지 기술은 사용자 정의 조건자 함수를 사용합니다.

<code class="language-csharp">static bool isNotFour(int n) { return n != 4; }

int[] numbers = { 1, 3, 4, 9, 2, 4 };
numbers = Array.FindAll(numbers, isNotFour).ToArray();</code>

또는 배열을 List<T>으로 변환하고 요소를 제거한 후 다시 변환합니다.

<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int valueToRemove = 4;
int indexToRemove = Array.IndexOf(numbers, valueToRemove);
List<int> tempList = new List<int>(numbers);
tempList.RemoveAt(indexToRemove);
numbers = tempList.ToArray();</code>

중요 고려 사항: 예외를 방지하려면 제거를 시도하기 전에 항상 Array.IndexOf을 사용하여 배열에 요소가 있는지 확인하세요. LINQ를 사용하면 일반적으로 더 간결하고 읽기 쉬운 코드가 제공되지만 LINQ가 아닌 메서드는 이전 프레임워크와의 호환성을 제공합니다.

위 내용은 C#의 배열에서 요소를 어떻게 삭제할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.