Append 제네릭 함수는 Array 제네릭의 Resize 메소드를 이용하여 공간을 재조정하며, 추가된 요소값을 담습니다.
RemoveAt 제네릭 함수는 특정 위치의 요소값을 제거하고 Resize 메소드를 이용하여 재조정합니다.
RemoveAll 제네릭 함수는 RemoveAt 함수를 이용하여 배열 개수만큼 전부 삭제하며 삭제한 카운트를 반환합니다.
그러면 위의 함수를 가지고 어떻게 사용하는지에 대해 설명해 보겠습니다.
1. Append 이용하기
string[] strArray = new string[] { "a", "b", "c" };
string[] strArray2 = new string[] { "d", "e", "f" };
//첫번째 array 에 d, e, f 추가하기
ArrayShimEx.Append<string>(ref strArray, strArray2);
//하나의 요소인 g 추가하기
ArrayShimEx.Append<string>(ref strArray, "g");
Console.Write(string.Join(strArray));
2. RemoveAt 이용하기
string[] strArray = new string[] { "a", "b", "c" };
// element b 요소 제거하기, 1번째임
ArrayShimEx.RemoveAt<string>(1,ref strArray);
foreach (string str in strArrays)
{
Response.Write(str);
}
3. RemoveAll 이용하기
// string 배열에 담는다.
string[] strArray = "나의 이름은 심재운 이다. very Good!!".Split(' ');
int RemoveCount = ArrayShimEx.RemoveAll<string>(ref strArray, new Predicate<string>(
delegate(string element)
{
// "심재운" 값이 존재한 요소는 전부 삭제
return element.Contains("심재운");
}
));
위의 코드를 C# 3.0 에서 제공해 주는 Extension Methods 로 색다르게 함수를 만들 수도 있습니다.
감사합니다. - posted by 심재운