C#의 컬렉션

王林
王林원래의
2024-09-03 15:27:48702검색

컬렉션은 클래스 내용을 저장하고 가져오기 위한 동적 메모리 할당을 위해 C#에서 사용되는 클래스 유형으로 정의할 수 있으며 여러 작업을 수행하는 데 사용할 수 있습니다. C#에서 컬렉션은 'System.Collections.Generic 클래스', 'System.Collections' 형식으로 작동합니다. 동시 클래스' 및 'System.Collections 클래스'. 저장 패턴 측면에서 컬렉션은 배열의 데이터 구조를 복제하며 유일한 차이점은 배열과 달리 필요한 크기로 컬렉션을 정의할 필요가 없다는 것입니다.

다음과 같은 3가지 컬렉션 작업 방법이 있습니다

  • System.Collections.Generic 클래스
  • System.Collections.Concurrent 클래스
  • System.Collections 클래스

C#의 컬렉션 예

다음은 C#의 다양한 컬렉션 유형에 대한 몇 가지 예입니다.-

예제 #1 – ArrayList

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는 반복에 사용되며 값을 표시합니다.

출력:

C#의 컬렉션

예# 2 – 여기서는 목록 작업을 사용하겠습니다

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는 반복 및 값 표시에 사용됩니다.

출력: 

C#의 컬렉션

예# 3 : 정렬된 목록

컬렉션의 키와 값으로 구성됩니다.

코드:

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 유형입니다. 목록에는 여러 쌍의 키와 값이 있습니다. 기본적으로 정렬된 키와 값 쌍을 나타냅니다.

출력:

C#의 컬렉션

예 # 4 : 연결된 목록

기본적으로 요소에 대한 순차적 접근을 허용합니다.

코드:

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()는 값을 찾아 그 앞에 값을 두는 데 사용됩니다.

출력 :

C#의 컬렉션

예# 5 – 사전

고유한 키와 값의 쌍으로 구성됩니다.

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는 키와 값의 반복에 사용됩니다.

출력 

C#의 컬렉션

예 # 6 – 스택

후입선출(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()는 스택의 최상위 요소를 반환하기 위한 것입니다.

출력:

C#의 컬렉션

예# 7 – 대기열

선입선출 구조를 기반으로 합니다. 대기열의 첫 번째 요소가 가장 먼저 제거됩니다.

코드:

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#의 컬렉션

그래서 컬렉션을 사용할 수 있는 방법은 많습니다. 컬렉션은 배열과 유사합니다.  여기서는 배열과 달리 크기를 미리 정의할 필요가 없습니다.

위 내용은 C#의 컬렉션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C# 메시지박스다음 기사:C# 메시지박스