프로그래밍/C#

C#에서 리스트(`List<T>`)를 활용한 효율적인 데이터 관리

shimdh 2025. 8. 26. 00:04
728x90

프로그래밍에서 컬렉션은 객체 그룹을 저장하고 관리하는 데 필수적입니다. C#의 List<T>는 제네릭을 통해 데이터를 효율적으로 처리할 수 있는 강력한 도구입니다. 이 글에서는 List<T>의 기능과 활용법을 자세히 살펴보겠습니다.

리스트의 기본 개념

리스트는 동적 배열로, 런타임에 크기를 조정할 수 있는 유연성을 제공합니다. 이는 사전에 항목 수를 알 수 없는 상황에서 특히 유용합니다.

리스트의 주요 특징

  • 동적 크기 조정: 초기 크기를 지정할 필요가 없습니다.
  • 타입 안전성: 제네릭을 사용하여 데이터 유형을 정의할 수 있습니다.
  • 풍부한 기능성: 데이터 검색, 정렬 및 조작을 위한 내장 메서드를 제공합니다.
728x90

리스트 생성 및 초기화

리스트를 사용하려면 System.Collections.Generic 네임스페이스를 포함해야 합니다.

using System.Collections.Generic;
List<int> numbers = new List<int>();

리스트에 항목 추가하기

Add() 메서드를 사용하여 리스트에 항목을 추가할 수 있습니다.

numbers.Add(10);
numbers.Add(20);
numbers.Add(30);

리스트의 항목 접근 및 반복

리스트의 항목은 인덱스를 통해 접근할 수 있으며, foreachfor 루프를 사용하여 반복할 수 있습니다.

foreach (int number in numbers)
{
    Console.WriteLine(number);
}

리스트에서 항목 제거하기

Remove()RemoveAt() 메서드를 사용하여 항목을 제거할 수 있습니다.

numbers.Remove(20);
numbers.RemoveAt(0);

리스트의 정렬 및 검색

리스트는 .Sort().Contains() 메서드를 통해 정렬 및 검색 기능을 제공합니다.

numbers.Sort();
bool hasThirty = numbers.Contains(30);

실용적인 예: 학생 성적 관리

리스트를 사용하여 학생의 성적을 관리하는 예를 통해 리스트의 실제 응용을 살펴보겠습니다.

  1. 학생 클래스 정의:
  2. public class Student { public string Name { get; set; } public int Grade { get; set; } public Student(string name, int grade) { Name = name; Grade = grade; } }
  3. 학생 리스트 생성:
  4. List<Student> students = new List<Student>();
  5. 학생 추가:
  6. students.Add(new Student("Alice", 85)); students.Add(new Student("Bob", 90)); students.Add(new Student("Charlie", 78));
  7. 평균 성적 계산:
  8. double averageGrade = students.Average(s => s.Grade); Console.WriteLine($"Average Grade: {averageGrade}");
  9. 모든 성적 표시:
  10. foreach(var student in students) { Console.WriteLine($"{student.Name}: {student.Grade}"); }

이 예제는 리스트가 데이터를 효과적으로 관리할 수 있는 방법을 보여줍니다.

결론

리스트와 같은 컬렉션을 이해하는 것은 객체 그룹을 관리하는 능력을 향상시킵니다. C#의 제네릭 및 다른 컬렉션 유형과 관련된 고급 주제를 준비하는 데도 도움이 됩니다. 이러한 개념에 대한 숙달은 더 큰 프로젝트를 효율적으로 처리하기 위한 견고한 기초를 마련합니다.

728x90