asp.net (c#)은 동적 배열은 지원합니다.
대단히 편리합니다.
1번 선수 : Array (기본 배열)
사용법은 아래와 같이 간단히 사용할 수 있습니다.
그럼 예문 하나 보여드리겠습니다.
예문 1)
string[] ArrArray = new string[3];
ArrArray[0] = "00";
ArrArray[1] = "11";
ArrArray[2] = "22";
Array.Resize(ref ArrArray, ArrArray.Length - 1);
Array.Resize(ref ArrArray, ArrArray.Length + 1);
for (int i = 0; i < ArrArray.Length; i++)
{
if (!string.IsNullOrEmpty(ArrArray[i]))
{
Response.Write("ArrData[" + i + "] : " + ArrArray[i] + ";<br>");
}
}
ArrData[0] : 00;
ArrData[1] : 11;
잘 나오죠.
원하는 결과값도 나오고 건드리지않은 배열쪽은 데이터도 무탈하게 저장되어있습니다.
사용법도 간단하죠.
하지만 안으로 들여다보면 배열을 복사해서 처리하는 형태를 취하고 있습니다. 효율적이다라고 말하기는 힘들것 같습니다.
이래서 준비된 녀석들이 있습니다.
2번 선수 : ArrayList
@using System.Collections 의 ArrayList Class입니다.
내부는 Object Type으로 되어 있습니다. 사용시 박싱 언박싱을 거치게 됩니다.
하지만 하나의 컬렉션에 다양한 Type을 담을 수 있습니다.
.NET Framework 1.1 이후 사용가능
그럼 예문 갑니다.
ArrayList ArrList = new ArrayList();
ArrList.Add("AA"); // 최초 삽입이기에 index 0 에 자리잡습니다.
ArrList.Add("BB"); // index 1
ArrList.Add("CC"); // index 2
ArrList.RemoveAt(1); // index 1 삭제 (index 1 의 삭제로 index 2 가 index 1로 대체)
ArrList.Add("DD"); // Add는 맨 끝에 추가하니깐 index 2 에 삽입됨
ArrList.Insert(2, "EE"); // index 2 자리에 비집고 들어감. 기존에 있던 index 2 이후로 한자리씩 밀려남
ArrList[0] = "FF"; // index 0 자리에 값 바꿈
for (int i = 0; i < ArrList.Count; i++)
{
Response.Write("ArrList[" + i + "] : " + ArrList[i] + ";<br>");
}
ArrList[0] : FF;
ArrList[1] : CC;
ArrList[2] : EE;
ArrList[3] : DD;
상당히 조작히 편리한 Class 입니다.
3번 선수 : List<T>
@using System.Collections.Generic 의 List<T> Class 입니다.
사용시 박싱 언박싱을 거치지않습니다. 이렇게 보면 ArrayList보다 좋아보이지만...
하나의 컬렉션에 명시된 Type 하나만 담을 수 있습니다.
다양한 Type을 담아야하신다면 ArrayList가 효과적일것이며 그렇지않다면 List<T> Class가 효과적이실것입니다.
사용법은 ArrayList와 유사합니다.
.NET Framework 2.0 이후 사용가능
@using System.Collections.Generic;
List<string> GenericList = new List<string>();
GenericList.Add("가가"); // 최초 삽입으로 index 0
GenericList.Add("나나"); // index 1
GenericList.Add("다다"); // index 2
GenericList.RemoveAt(1); // index 1 삭제., index 2 가 index 1 로 대체
GenericList.Add("라라"); // index 2
GenericList.Insert(2, "마마"); // index 2 에 삽입. 기존 index 2 이후 데이터가 1 자리씩 밀림
GenericList[0] = "바바"; // index 0 값 변경
for (int i = 0; i < GenericList.Count; i++)
{
Response.Write("GenericList[" + i + "] : " + GenericList[i] + ";<br>");
}
GenericList[0] : 바바;
GenericList[1] : 다다;
GenericList[2] : 마마;
GenericList[3] : 라라;
결과 또한 ArrayList 와 같다.
본인이 원하는 형태와 타입에 맞게 골라쓰면 되겠다!
'Asp.net (C#.net)' 카테고리의 다른 글
Visual Studio (비주얼 스튜디오) Asp.net Mvc 에서 WebMatrix 사용하기 (0) | 2018.07.11 |
---|---|
asp.net (c#) 문자열 비교 (Compare, CompareTo, Equals, ==) (1) | 2018.07.04 |
asp.net Mvc5 passwod validation 변경 (암호 정책 변경) (0) | 2018.07.04 |
Asp.net Mvc PagedList 페이징 처리 (검색 기능 포함) (2) (0) | 2018.07.03 |
Asp.net Mvc PagedList 페이징 처리 (검색 기능 포함) (1) (0) | 2018.06.28 |