집 >백엔드 개발 >C#.Net 튜토리얼 >C#의 컬렉션
컬렉션은 클래스 내용을 저장하고 가져오기 위한 동적 메모리 할당을 위해 C#에서 사용되는 클래스 유형으로 정의할 수 있으며 여러 작업을 수행하는 데 사용할 수 있습니다. C#에서 컬렉션은 'System.Collections.Generic 클래스', 'System.Collections' 형식으로 작동합니다. 동시 클래스' 및 'System.Collections 클래스'. 저장 패턴 측면에서 컬렉션은 배열의 데이터 구조를 복제하며 유일한 차이점은 배열과 달리 필요한 크기로 컬렉션을 정의할 필요가 없다는 것입니다.
다음과 같은 3가지 컬렉션 작업 방법이 있습니다
다음은 C#의 다양한 컬렉션 유형에 대한 몇 가지 예입니다.-
System.Collections의 모음입니다. 여러 데이터 유형의 데이터를 보유할 수 있으며 데이터가 추가되면 자동으로 확장됩니다.
코드:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ArrayListExample { class Program { static void Main(string[] args) { var data = new ArrayList(); //arraylist collection data.Add("Demo"); // add element data.Add(1); data.Add(5); data.Add(26); data.Add(56.4); data.Add(32); data.Remove(5); // remove element foreach (object obj in data) // iteration { Console.WriteLine(obj); Console.ReadLine(); } } } }
위의 예에는 ArrayList 유형의 컬렉션이 있습니다. ArrayList에는 몇 가지 요소가 있습니다. Add() 및 Remove()는 각각 컬렉션에서 요소를 추가하고 제거하는 데 사용되는 메서드입니다. foreach는 반복에 사용되며 값을 표시합니다.
출력:
System.Collections.Generic 네임스페이스의 모음입니다.
코드:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var value = new List<string>(); // list collection value.Add("Cricket"); // add element value.Add("Football"); value.Add("Volleyball"); value.Add("Hockey"); value.Add("Basketball"); value.Add("Tennis"); value.Remove("Football"); // remove element value.Remove("Tennis"); value.Insert(3, "Badminton"); // insert element foreach (string st in value) { Console.WriteLine(st); Console.ReadLine(); } } } }
위의 예에서 컬렉션은 목록 유형입니다. Add() 및 Remove() 메서드는 각각 목록에서 요소를 추가하거나 제거하는 데 사용됩니다. Insert()는 목록의 정의된 인덱스에 요소를 삽입하는 데에도 사용됩니다. Foreach는 반복 및 값 표시에 사용됩니다.
출력:
컬렉션의 키와 값으로 구성됩니다.
코드:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var value = new SortedList<string, int>(); // sortedlist collection value.Add("java", 3); // add element value.Add("javascript", 4); value.Add("c-sharp", 5); value.Add("dotnet", 25); value.Add("python", 27); value.Add("typescript", 57); foreach (var pair in value) { Console.WriteLine(pair); Console.ReadLine(); } } } }
위의 예에서 컬렉션은 sortedlist 유형입니다. 목록에는 여러 쌍의 키와 값이 있습니다. 기본적으로 정렬된 키와 값 쌍을 나타냅니다.
출력:
기본적으로 요소에 대한 순차적 접근을 허용합니다.
코드:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var value = new LinkedList<int>(); // linkedlist collection value.AddLast(13); // add element value.AddLast(33); value.AddLast(23); value.AddLast(51); value.AddLast(60); value.AddFirst(4); value.AddFirst(6); LinkedListNode<int> node = value.Find(51); // find the node value.AddBefore(node, 40); foreach (int num in value) { Console.WriteLine(num); Console.ReadLine(); } } } }
위의 예에서 컬렉션은 Linkedlist 유형입니다. AddLast()는 요소를 마지막 위치에 배치하는 데 사용되는 반면 AddFirst()는 요소를 목록의 첫 번째 위치에 배치하는 데 사용됩니다. Linkedlist는 노드로 구성됩니다. Find()는 값을 찾아 그 앞에 값을 두는 데 사용됩니다.
출력 :
고유한 키와 값의 쌍으로 구성됩니다.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var pair = new Dictionary<string, string>(); // dictionary collection pair.Add("in", "India"); // add keys and values pair.Add("af", "Africa"); pair.Add("us", "United States"); pair.Add("ja", "Japan"); pair.Add("ch", "China"); pair.Add("ca", "Canada"); Console.WriteLine("Keys present in the dictionary:"); var key = new List<string>(pair.Keys); foreach (string k in key) { Console.WriteLine("{0}", k); } Console.WriteLine("Values present in the dictionary:"); var value = new List<string>(pair.Values); foreach (string val in value) { Console.WriteLine("{0}", val); } Console.ReadLine(); } } }
위의 예에서 컬렉션은 키와 해당 값을 포함하는 사전 유형입니다. Foreach는 키와 값의 반복에 사용됩니다.
출력
후입선출(Last In First Out) 구조를 기반으로 합니다. 대기열의 마지막 요소가 가장 먼저 제거됩니다.
코드:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program { static void Main(string[] args) { var value = new Stack<int>(); // stack collection value.Push(10); // adding the element value.Push(40); value.Push(33); value.Push(62); value.Push(48); value.Push(21); value.Push(31); Console.WriteLine(value.Pop()); Console.WriteLine(value.Peek()); Console.WriteLine(); foreach (int item in value) { Console.WriteLine(item); Console.ReadLine(); } } } }
위의 예에서 컬렉션은 스택 유형입니다. Push()는 요소를 맨 위에 삽입하는 데 사용됩니다. Pop()은 요소를 제거하고 반환하기 위한 것이고 Peek()는 스택의 최상위 요소를 반환하기 위한 것입니다.
출력:
선입선출 구조를 기반으로 합니다. 대기열의 첫 번째 요소가 가장 먼저 제거됩니다.
코드:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Collections { class Program {static void Main(string[] args) { var value = new Queue<string>(); // queue collection value.Enqueue("Item 1"); // add element value.Enqueue("Item 2"); value.Enqueue("Item 3"); value.Enqueue("Item 4"); value.Enqueue("Item 5"); value.Enqueue("Item 6"); value.Enqueue("Item 7"); Console.WriteLine(value.Dequeue()); Console.WriteLine(value.Peek()); Console.WriteLine(); foreach (string num in value) { Console.WriteLine(num); Console.ReadLine(); } } } }
위의 예에서는; 컬렉션은 대기열 유형입니다. Enqueue()는 대기열 끝에 요소를 삽입하기 위한 것입니다. Dequeue()는 대기열의 시작 부분에서 요소를 제거하는 데 사용됩니다. Peek()는 항목을 반환하는 데 사용됩니다.
출력:
그래서 컬렉션을 사용할 수 있는 방법은 많습니다. 컬렉션은 배열과 유사합니다. 여기서는 배열과 달리 크기를 미리 정의할 필요가 없습니다.
위 내용은 C#의 컬렉션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!