댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
C#
2015.10.13 17:12
List<T> 사용법
조회 수 51395 댓글 0
List 란? 리스트는 배열과 동일한 역할을 합니다. List<자료형> 변수명 형태로 선언하고, 객체이기 때문에 new연산자를 꼭 써줘야합니다! using System; using System.Collections.Generic; //list를 쓰기위해.. using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication8 { class Program { static void Main(string[] args) { List<int> number = new List<int>(); //리스트 생성 number.Add(10); //리스트 추가 number.Add(20); //리스트 추가 number.Add(30); //리스트 추가 Console.WriteLine(number[0]); //[0] 번째 리스트 출력 Console.WriteLine(number[1]); //[1] 번째 리스트 출력 Console.WriteLine(number[2]); //[2] 번째 리스트 출력 number.Remove(10); //리스트에서 10을 삭제 합니다 Console.WriteLine(number[0]); //[0] 번째 리스트 출력 Console.WriteLine(number[1]); //[1] 번째 리스트 출력 int I = 20; //체크할 숫자 선언 if (number.Contains(I)) //리스트에서 숫자 체크 { Console.WriteLine("{0}이 리스트에 존재함", I); } } } } 배열과 다른점을 찾을 수 있습니다. 첫 번째 리스트는 크기를 정해줄 필요가 없습니다. 그때 그때 Add를 사용해 리스트 값을 추가할 수 있습니다. 이때, 추가한 순서대로 리스트에 [x]번째가 됩니다. 두 번째 Remove를 이용해 언제든지 list의 원하는값을 삭제할 수 있다. 이때, 삭제된 [x]번째보다 뒤에 있는 리스트값은 한칸씩 당겨진다. 세 번째 배열은 원하는 값이 있는지 확인하기 위해서는 배열의 개수만큼 전부 체크해봐야 한다. 하지만 리스트는 Contains()를 이용해 원하는 값이 있는지 바로 판단할 수 있다. // List List<string> list = new List<string>(); // 추가 list.Add("a"); list.Add("b"); list.Add("c"); // 탐색 foreach (string it in list) { System.Diagnostics.Debug.WriteLine(it); } // 찾기 string key = "키"; string result = list.Find( delegate(string data) { return (key == data); } ); if (result != null) { System.Diagnostics.Debug.WriteLine(result); } C#에서 List는 System.Collections.Generic을 추가해야 쓸 수 잏다. List 선언법 List<자료형 또는 클래스> _list = new List<자료형 또는 클래스>(); ※ List 또한 객체이기 때문에 꼭 new를 해주자.
주요 메소드 ... (아래 제시된 것 보다 많음) ⓐ _list.Add() : 원하는 자료를 컨테이너에 삽입 할 수 있다. ⓑ _list.Remove(자료) : 원하는 자료를 컨테이너에서 삭제할 수 있다. ⓒ _list.RemoveAt(인덱스) : 원하는 자료를 인덱스 번호로 삭제할 수 있다. Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire List<T>. 지정된 조건자에 정의된 조건과 일치하는 요소를 검색하고 전체 List<T>에서 처음으로 검색한 요소를 반환합니다. 나와 있는 예제를 보자면 다음과 같이 되어있다. // Find a book by its ID. Book result = Books.Find( delegate(Book bk) { return bk.ID == IDtoFind; } ); if (result != null) { DisplayResult(result, "Find by ID: " + IDtoFind); } else { Console.WriteLine("\nNot found: {0}", IDtoFind); } 무명 메서드가 등장하는 이상한(?) 형태를 띄고 있는데.. 이는 예제에 대한 설명이다. IDToFind 조건자 대리자를 사용하여 ID로 책을 찾습니다. IDToFind predicate delegate." xml:space="preserve">C# 예제에서는 익명 대리자를 사용합니다. 즉, 익명 대리자에서 조건을 판별하여 리스트에서 처음으로 검색한 요소를 반환한단 이야기이다.
간단히 정렬도 가능함 List<int> sortList = new List<int> (); sortList.Add ( 10 ); sortList.Add ( 3 ); sortList.Add ( 7 ); sortList.Add ( 1 ); sortList.Add ( 4 ); // 정렬 !! sortList.Sort (delegate (int a, int b) { return a.CompareTo( b ); }); //이렇게 하면 더 간단함. List<int> sortList = new List<int> (); sortList.Add ( 10 ); sortList.Add ( 3 ); sortList.Add ( 7 ); sortList.Add ( 1 ); sortList.Add ( 4 ); // 알아서 정렬 !! sortList.Sort (); Dreamy의 코드 스크랩내가 모으고 내가 보는
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5