여러가지 상황에서 배열을 만들고 원하는 배열을 삭제해야할 일이 생기는 경우가 많습니다.
이 배열을 지우는 방법에는 무엇이 있을까요
먼저 배열을 생성해 줍니다
var testVal = new List<string>();
string을 저장할수있는 임의의 공간 testVal을 만들어 주었습니다.
값들을 집어넣어 볼까요~
for(int i=0; i<10; i++){
testVal.Add("testval"+i);
}
testVal[0] -> "testval0"
testVal[1] -> "testval1"
testVal[2] -> "testval2"
testVal[3] -> "testval3"
testVal[4] -> "testval4"
testVal[5] -> "testval5"
testVal[6] -> "testval6"
testVal[7] -> "testval7"
testVal[8] -> "testval8"
testVal[9] -> "testval9"
위와 같은 값들이 저장되어있겠죠?
Remove
testVal.Remove("testval1");
이렇게 적는다면 testval1의 값을 가지고있는 testVal[1]이 지워지게됩니다.
지워지게 되고나면 뒤의 2,3,4,5,6,7,8,9 는 앞으로 자동으로 당겨지게 되어있습니다.
RemoveAt
testVal.RemoveAt(0);
인덱스 값을 이용하여 배열을 지웁니다 인자값으로 int형의 정수 값이 들어갑니다.
0을 넣어주었으니 testVal[0] 의 배열이 지워지게 되겠죠?
RemoveAll
testVal.RemoveAll(d=>d.StartsWith("k"));
RemoveAll 같은경우 조건부가 존재합니다. 사실 RemoveAll만을 따로 다루어야할만큼 조건부
함수가 많아서... 여기서는 간단하게 StartsWith의 사용법에 대해서만 적어두겠습니다.
조건부 안에 있는 k 라는 string만을 지웁니다.
배열안에 k 의 string이 여러개가 들어있다면, 모두 지워버립니다.
RemoveRange
testVal.RemoveRange(0, 3);
RemoveRange는 두개의 int형 인자값을 받습니다.
RemoveRange(int index, int count) index에 적힌 부분 부터 count의 수 만큼을 지웁니다.
3을 적었으니 3개를 지우겠죠!
이렇게 배열 삭제에 대하여 알아봤습니다~