IRONSOFTWAREHOME
개발자 업데이트

C# 리스트 (개발자를 위한 작동 방식)

제이콥 멜러, 팀 아이언 최고기술책임자
Jacob Mellor
Updated: 2026년 6월 28일

리스트는 C#에서 데이터 컬렉션을 저장하고 조작하는 데 사용되는 다목적 및 동적 데이터 구조입니다. 이들은 강력하고 타입 안전한 컬렉션 클래스와 엄격한 타입의 객체를 제공하는 System.Collections.Generic 네임스페이스의 일부입니다. 이 초급 친화적인 튜토리얼은 C# 리스트 사용의 기초, 요소 생성 및 추가, 지정된 인덱스 또는 첫 번째 발생 접근, 지정된 요소 수정 및 요소 제거와 같은 일반적인 사용 사례로 안내합니다.

리스트 생성

List 클래스를 사용하기 시작하려면 먼저 코드에서 System.Collections.Generic 네임스페이스를 포함해야 합니다:

using System.Collections.Generic;

제네릭 네임스페이스를 추가한 후, 저장하려는 모든 요소의 데이터 타입을 각괄호(< >) 내에 지정하여 새 List 객체를 생성합니다. 여기 정수 리스트를 생성하는 방법의 예가 있습니다:

List<int> numbers = new List<int>();

처음부터 몇 가지 초기 값으로 리스트를 초기화하거나 지정된 컬렉션으로 정의할 수도 있습니다:

List<string> fruits = new List<string> { "apple", "banana", "cherry" };

리스트의 기본 초기 용량을 지정할 수도 있습니다. 지정된 초기 용량은 리스트의 기본 최대 용량입니다.

리스트의 메서드들

리스트에 요소 수 추가

List에 요소를 추가하려면 Add() 메소드를 사용하십시오:

numbers.Add(1);     // Adds first element
numbers.Add(2);
numbers.Add(3);

지정된 컬렉션에서 범위의 요소를 목록에 추가하려면 AddRange 메소드를 사용할 수도 있습니다:

List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);

리스트 요소 접근하기

배열과 마찬가지로 인덱스를 사용하여 리스트의 개별 요소에 접근할 수 있습니다:

string firstFruit = fruits[0];          // "apple"
string secondFruit = fruits[1];         // "banana"

리스트는 0부터 시작하는 인덱스라는 점을 염두에 두십시오, 그래서 첫 번째 요소는 인덱스가 0입니다. 위의 예제는 해당 요소가 존재하면 문자열에 저장할 것입니다.

리스트 요소 수정하기

리스트의 요소를 수정하려면 원하는 인덱스에 있는 요소에 단순히 새 값을 할당하면 됩니다, 0부터 시작하는 인덱스임을 염두에 두십시오:

fruits[1] = "blueberry";

이제 fruits 목록의 두 번째 요소가 "블루베리"로 바뀌었습니다.

목록에서 요소 제거하기

목록에서 요소를 제거하려면 지정된 요소의 첫 번째 발생을 제거하는 Remove 메소드를 사용할 수 있습니다:

fruits.Remove("apple");

또는 특정 인덱스의 요소를 제거하기 위해 RemoveAt 메소드를 사용할 수 있습니다:

fruits.RemoveAt(0);

목록에서 모든 요소를 제거하려면 Clear 메소드를 사용하십시오:

fruits.Clear();

목록에서 요소 찾기

특정 요소가 목록에 포함되어 있는지 확인하려면 Contains() 메소드를 사용할 수 있습니다:

bool containsApple = fruits.Contains("apple");  // true

요소의 첫 번째 발생의 인덱스를 찾으려면 IndexOf 메소드를 사용하십시오:

int appleIndex = fruits.IndexOf("apple");  // 0

요소가 발견되지 않으면 IndexOf는 -1을 반환합니다.

목록 순회하기

목록의 요소를 반복하려면 foreach 루프를 사용할 수 있습니다:

foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}

또는 목록의 요소 수를 반환하는 Count 속성과 함께 for 루프를 사용할 수 있습니다:

for (int i = 0; i < fruits.Count; i++)
{
    Console.WriteLine(fruits[i]);
}

목록 정렬하기

목록을 오름차순으로 정렬하려면 Sort 메소드를 사용하십시오:

List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();

// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }

사용자 정의 비교와 함께 목록을 내림차순으로 정렬하려면 Sort 메소드를 사용할 수 있습니다:

unsortedNumbers.Sort((a, b) => b.CompareTo(a));

// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }

더 복잡한 정렬의 경우 사용자 정의 IComparer 클래스를 구현하거나 LINQ(통합 언어 쿼리)를 사용할 수 있습니다. 이진 검색 알고리즘은 정렬된 목록에서 작동합니다.

리스트와 LINQ 사용하기

LINQ는 목록을 포함한 컬렉션에 강력한 쿼리와 변환을 수행할 수 있게 해줍니다. LINQ를 사용하려면 먼저 코드에서 System.Linq 네임스페이스를 포함해야 합니다:

using System.Linq;

다음은 목록에 대한 LINQ 쿼리의 몇 가지 예입니다:

목록 필터링

List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();

목록의 요소 매핑(변환)

List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();

목록에서 최소값 및 최대값 찾기

int minValue = numbers.Min();
int maxValue = numbers.Max();

목록을 배열로 변환하기

목록을 배열로 변환하려면 ToArray 메소드를 사용할 수 있습니다:

int[] numbersArray = numbers.ToArray();

IronPDF를 사용하여 목록 데이터를 PDF로 내보내기

이 섹션에서는 IronPDF 라이브러리를 사용하여 리스트의 데이터를 PDF 파일로 내보내는 방법을 설명합니다. 이것은 보고서나 데이터의 인쇄 가능한 버전을 생성하고 싶을 때 유용할 수 있습니다.

먼저 프로젝트에 IronPDF NuGet 패키지를 다운로드하고 설치하십시오:

PM > Install-Package IronPdf

다음으로 코드에 IronPdf 네임스페이스를 포함시킵니다:

using IronPdf;

이제 문자열 List 변환하여 HTML 테이블로 만들고 이를 PDF 파일로 내보내는 간단한 함수를 만들어봅시다:

using System.Collections.Generic;
using System.Text;
using IronPdf;

void ExportListToPdf(List<string> data, string pdfFilePath)
{
    // Create an HTML table from the list data
    StringBuilder htmlBuilder = new StringBuilder();
    htmlBuilder.Append("<table><tr><th>Item</th></tr>");

    foreach (string item in data)
    {
        htmlBuilder.Append($"<tr><td>{item}</td></tr>");
    }

    htmlBuilder.Append("</table>");

    // Convert the HTML table to a PDF using IronPDF
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());

    // Save the PDF to the specified file path
    pdf.SaveAs(pdfFilePath);
}

이 함수를 사용하려면 단순히 목록과 원하는 PDF 파일 경로로 호출하십시오:

List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");

이는 IronPDF를 사용하여 HTML을 PDF로 변환함을 통해 과일 목록이 있는 테이블을 포함하는 "Fruits.pdf"라는 PDF 파일을 생성할 것입니다. HTML 테이블에 사용자 정의 스타일을 추가하거나 PDF에 추가 콘텐츠를 추가하는 것과 같은 방식으로 ExportListToPdf 함수를 필요에 맞게 수정할 수 있습니다.

C# List (개발자에게 작동 방식) 그림 1 - HTML을 PDF로

결론

이 초급자 친화적인 튜토리얼에서는 C# 목록 사용의 기본을 다루고 목록 데이터를 PDF 파일로 내보내기 위해 IronPDF를 통합하는 방법을 보여줍니다. IronPDF을 프로젝트에 포함함으로써 C# 프로젝트에서 쉽게 보고서, 송장 또는 기타 인쇄 가능한 문서를 생성할 수 있습니다.

IronPDF는 무료 체험을 제공하여 구매 전에 그 기능을 테스트할 수 있게 합니다.

제이콥 멜러, 팀 아이언 최고기술책임자
최고기술책임자

제이콥 멜러는 Iron Software의 최고 기술 책임자(CTO)이자 C# PDF 기술을 개척한 선구적인 엔지니어입니다. Iron Software의 핵심 코드베이스를 최초로 개발한 그는 창립 초기부터 회사의 제품 아키텍처를 설계해 왔으며, CEO인 캐머런 리밍턴과 함께 회사를 NASA, 테슬라, 그리고 전 세계 정부 기관에 서비스를 제공하는 50명 이상의 직원을 보유한 기업으로 성장시켰습니다.

...
더 읽어보기

관련 기사

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.