배열에서 특정 요소 값을 삭제하는 방법을 소개합니다.
1. List를 이용한 방법
배열은 동적으로 크기를 변경하지 못하기 때문에, 특정 요소가 제거된 새로운 배열을 만들어야 합니다.
List를 이용하여 배열에서 요소를 삭제하는 방법은 다음과 같습니다.
- 배열을 List로 변경
- List에서 특정 요소 제거
- List를 배열로 변환
아래 코드는 배열에서 Index 3의 요소를 제거하는 예제입니다.
using System;
namespace Example {
public class Program {
public static int[] RemoveAt(int[] arr, int index) {
List<int> list = new List<int>(arr);
list.RemoveAt(3);
return list.ToArray();
}
public static void Main(string[] args) {
int[] arr = {0, 1, 2, 3, 4};
int[] newArr = RemoveAt(arr, 3);
Console.WriteLine(String.Join(", ", newArr));
}
}
}
Output:
0, 1, 2, 4
2. Where()를 이용한 방법
array.Where()
는 배열의 모든 요소들 중에서 특정 조건에 충족하는 요소들만 필터링합니다.
특정 조건에 대한 함수를 인자로 전달하며, Enumerable로 리턴합니다. ToArray()
로 배열로 변환할 수 있습니다.
아래 예제는 Where를 이용하여 배열의 Index 3을 제거하는 예제입니다.
using System;
namespace Example {
public class Program {
public static int[] RemoveAt(int[] arr, int index) {
return arr.Where((value, i) => i != index).ToArray();
}
public static void Main(string[] args) {
int[] arr = {0, 1, 2, 3, 4};
int[] newArr = RemoveAt(arr, 3);
Console.WriteLine(String.Join(", ", newArr));
}
}
}
Output:
0, 1, 2, 4
3. for문을 이용한 방법
기존 배열에서 1개의 요소를 삭제한다면, 크기가 하나 작은 새로운 배열을 만들고 다른 요소들을 복사할 수 있습니다.
using System;
namespace Example {
public class Program {
public static int[] RemoveAt(int[] arr, int index) {
int[] newArr = new int[arr.Length - 1];
int removedIndex = 3;
int j = 0;
for (int i = 0; i < arr.Length; i++) {
if (i != removedIndex) {
newArr[j++] = arr[i];
}
}
return newArr;
}
public static void Main(string[] args) {
int[] arr = {0, 1, 2, 3, 4};
int[] newArr = RemoveAt(arr, 3);
Console.WriteLine(String.Join(", ", newArr));
}
}
}
Output:
0, 1, 2, 4
Loading script...
Related Posts
- C# 바이트(Byte) 배열을 문자열로 변환
- C# String.format() 함수 알아보기
- C# - foreach (Array, List, Dictionary)
- C# 프로퍼티(Property) Get/Set 함수
- C# - Dictionary에서 key, value 가져오기
- C# - Dictionary 순회, foreach, for 루프
- C# - Dictionary에서 key, value 삭제
- C# - Dictionary.add()로 데이터 추가
- C# - Dictionary 선언 및 초기화
- C# - 문자열을 Double, Float으로 변환
- C# - 문자열을 리스트로 변환
- C# - 두 날짜/시간 비교, DateTime.Compare()
- C# - 날짜 계산, DateTime 시간 더하기 빼기
- C# - 날짜 문자열을 DateTime으로 변환
- C# - Sleep, 몇 초간 지연시키기
- C# - Timestamp(millisecond)를 DateTime 객체로 변환
- C# - 현재 시간 가져오기, DateTime
- C# - 문자열 리스트를 문자열로 변환
- C# - 리스트 복사 (얕은 복사, 깊은 복사)
- C# - 2차원 리스트 선언 및 초기화
- C# - 리스트 선언 및 초기화
- C# - 리스트 길이, 크기 가져오기
- C# - 리스트 합계, 평균 계산
- C# - 리스트 요소 제거 (RemoveAt, RemoveAt, RemoveAll)
- C# - 리스트에서 빈 문자열, null 제거
- C# - 리스트 두개로 분리, n개로 나누기
- C# - 문자열 뒤집기, Reverse()
- C# - 2차원 배열 복사, Clone
- C# - 문자열 배열을 문자열로 변환
- C# - 2차원 배열 선언, 초기화 방법
- C# - 배열 길이, 2차원 배열 길이
- C# - 두개의 배열을 하나로 합치기
- C# - 배열 중복 요소 제거
- C# - 배열에서 특정 요소 제거
- C# - Int 배열 정렬 (오름차순, 내림차순)