본문 바로가기
Function/C#

C# List 사용법 정리

by wawManager 2024. 8. 23.
728x90

안녕하세요.
C#에서 List<T>는 T 형식의 객체들을 순차적으로 저장하는 동적 배열입니다. 

List는 배열과 비슷하지만, 크기를 동적으로 조정할 수 있는 장점이 있습니다. 이를 통해 요소를 추가하거나 제거할 때 유연하게 사용할 수 있습니다.

# List<T> 기본 사용법

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // List 생성
        List<string> fruits = new List<string>();

        // 요소 추가
        fruits.Add("Apple");
        fruits.Add("Banana");
        fruits.Add("Cherry");

        // 요소에 접근
        Console.WriteLine(fruits[0]);  // 출력: Apple

        // 요소 삽입
        fruits.Insert(1, "Orange");

        // 요소 제거
        fruits.Remove("Banana");
        fruits.RemoveAt(2);  // 인덱스 2의 요소 제거

        // 요소 개수 확인
        Console.WriteLine("리스트의 크기: " + fruits.Count);  // 출력: 리스트의 크기: 2

        // 리스트의 모든 요소 순회
        foreach (string fruit in fruits)
        {
            Console.WriteLine(fruit);
        }
        // 출력:
        // Apple
        // Orange
    }
}

# 주요 기능

1. 요소 추가
   Add 메서드를 사용해 요소를 리스트에 추가합니다.
   
   fruits.Add("Apple");
   

2. 요소 삽입
   Insert 메서드를 사용해 특정 인덱스에 요소를 삽입합니다.
   
   fruits.Insert(1, "Orange");
   

3. 요소 제거
   Remove 메서드를 사용해 특정 값을 가진 요소를 제거하거나, RemoveAt 메서드를 사용해 특정 인덱스의 요소를 제거합니다.
   
   fruits.Remove("Banana");
   fruits.RemoveAt(2);
   

4. 요소 접근
   리스트의 요소는 인덱스를 사용해 접근할 수 있습니다.
   
   string firstFruit = fruits[0];
   

5. 요소 개수 확인
   Count 속성을 사용해 리스트에 포함된 요소의 개수를 확인할 수 있습니다.
   
   int size = fruits.Count;
   

6. 요소 존재 여부 확인
   Contains 메서드를 사용해 리스트에 특정 값이 포함되어 있는지 확인할 수 있습니다.
   
   bool hasApple = fruits.Contains("Apple");
   

7. 리스트의 모든 요소 순회
   foreach 루프를 사용해 리스트의 모든 요소를 순회할 수 있습니다.
   
   foreach (string fruit in fruits)
   {
       Console.WriteLine(fruit);
   }
   

# 주의사항
- 인덱스 기반 접근: 리스트는 0부터 시작하는 인덱스를 사용해 요소에 접근합니다.
- 동적 크기 조정: 리스트는 요소를 추가하거나 제거할 때 자동으로 크기가 조정되므로, 초기 크기를 신경 쓸 필요가 없습니다.
- Null 값 허용: 리스트는 null 값을 허용할 수 있습니다.

# 결론

List<T>는 C#에서 가장 많이 사용되는 컬렉션 중 하나로, 배열보다 더 유연하고 다재다능한 데이터 구조입니다. 요소의 추가, 삽입, 제거가 간편하며, 동적으로 크기를 조정할 수 있어 다양한 상황에서 유용하게 사용할 수 있습니다. List<T>를 잘 활용하면 데이터를 효과적으로 관리하고 조작할 수 있습니다.

 

 

감사합니다.

 

 

 

(chat gpt 참고)

728x90

'Function > C#' 카테고리의 다른 글

C# List vs Dictionary 비교  (0) 2024.08.25
C# Dictionary문 사용법 정리  (0) 2024.08.24
C# 다양한 Remove 문 사용법 정리  (0) 2024.08.22
C# 다양한 indexOf 문 사용법 정리  (0) 2024.08.21
C# 다양한 Replace 문 사용법 정리  (0) 2024.08.20