
C# 리스트 (개발자를 위한 작동 방식)
리스트는 C#에서 데이터 컬렉션을 저장하고 조작하는 데 사용되는 다목적 및 동적 데이터 구조입니다. 이들은 강력하고 타입 안전한 컬렉션 클래스와 엄격한 타입의 객체를 제공하는 System.Collections.Generic 네임스페이스의 일부입니다. 이 초급 친화적인 튜토리얼은 C# 리스트 사용의 기초, 요소 생성 및 추가, 지정된 인덱스 또는 첫 번째 발생 접근, 지정된 요소 수정 및 요소 제거와 같은 일반적인 사용 사례로 안내합니다.
리스트 생성
List 클래스를 사용하기 시작하려면 먼저 코드에서 System.Collections.Generic 네임스페이스를 포함해야 합니다:
using System.Collections.Generic;Imports System.Collections.Generic제네릭 네임스페이스를 추가한 후, 저장하려는 모든 요소의 데이터 타입을 각괄호(< >) 내에 지정하여 새 List 객체를 생성합니다. 여기 정수 리스트를 생성하는 방법의 예가 있습니다:
List<int> numbers = new List<int>();Dim numbers As New List(Of Integer)()처음부터 몇 가지 초기 값으로 리스트를 초기화하거나 지정된 컬렉션으로 정의할 수도 있습니다:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}리스트의 기본 초기 용량을 지정할 수도 있습니다. 지정된 초기 용량은 리스트의 기본 최대 용량입니다.
리스트의 메서드들
리스트에 요소 수 추가
List에 요소를 추가하려면 Add() 메소드를 사용하십시오:
numbers.Add(1); // Adds first element
numbers.Add(2);
numbers.Add(3);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);Dim moreNumbers As New List(Of Integer) From {4, 5, 6}
numbers.AddRange(moreNumbers)리스트 요소 접근하기
배열과 마찬가지로 인덱스를 사용하여 리스트의 개별 요소에 접근할 수 있습니다:
string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"Dim firstFruit As String = fruits(0) ' "apple"
Dim secondFruit As String = fruits(1) ' "banana"리스트는 0부터 시작하는 인덱스라는 점을 염두에 두십시오, 그래서 첫 번째 요소는 인덱스가 0입니다. 위의 예제는 해당 요소가 존재하면 문자열에 저장할 것입니다.
리스트 요소 수정하기
리스트의 요소를 수정하려면 원하는 인덱스에 있는 요소에 단순히 새 값을 할당하면 됩니다, 0부터 시작하는 인덱스임을 염두에 두십시오:
fruits[1] = "blueberry";fruits(1) = "blueberry"이제 fruits 목록의 두 번째 요소가 "블루베리"로 바뀌었습니다.
목록에서 요소 제거하기
목록에서 요소를 제거하려면 지정된 요소의 첫 번째 발생을 제거하는 Remove 메소드를 사용할 수 있습니다:
fruits.Remove("apple");fruits.Remove("apple")또는 특정 인덱스의 요소를 제거하기 위해 RemoveAt 메소드를 사용할 수 있습니다:
fruits.RemoveAt(0);fruits.RemoveAt(0)목록에서 모든 요소를 제거하려면 Clear 메소드를 사용하십시오:
fruits.Clear();fruits.Clear()목록에서 요소 찾기
특정 요소가 목록에 포함되어 있는지 확인하려면 Contains() 메소드를 사용할 수 있습니다:
bool containsApple = fruits.Contains("apple"); // trueDim containsApple As Boolean = fruits.Contains("apple") ' true요소의 첫 번째 발생의 인덱스를 찾으려면 IndexOf 메소드를 사용하십시오:
int appleIndex = fruits.IndexOf("apple"); // 0Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0요소가 발견되지 않으면 IndexOf는 -1을 반환합니다.
목록 순회하기
목록의 요소를 반복하려면 foreach 루프를 사용할 수 있습니다:
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}For Each fruit As String In fruits
Console.WriteLine(fruit)
Next fruit또는 목록의 요소 수를 반환하는 Count 속성과 함께 for 루프를 사용할 수 있습니다:
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}For i As Integer = 0 To fruits.Count - 1
Console.WriteLine(fruits(i))
Next i목록 정렬하기
목록을 오름차순으로 정렬하려면 Sort 메소드를 사용하십시오:
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();
// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }Dim unsortedNumbers As New List(Of Integer) From {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 }unsortedNumbers.Sort(Function(a, b) b.CompareTo(a))
' Now, unsortedNumbers is { 8, 5, 4, 2, 1 }더 복잡한 정렬의 경우 사용자 정의 IComparer 클래스를 구현하거나 LINQ(통합 언어 쿼리)를 사용할 수 있습니다. 이진 검색 알고리즘은 정렬된 목록에서 작동합니다.
리스트와 LINQ 사용하기
LINQ는 목록을 포함한 컬렉션에 강력한 쿼리와 변환을 수행할 수 있게 해줍니다. LINQ를 사용하려면 먼저 코드에서 System.Linq 네임스페이스를 포함해야 합니다:
using System.Linq;Imports System.Linq다음은 목록에 대한 LINQ 쿼리의 몇 가지 예입니다:
목록 필터링
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();Dim evenNumbers As List(Of Integer) = numbers.Where(Function(x) x Mod 2 = 0).ToList()목록의 요소 매핑(변환)
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList()목록에서 최소값 및 최대값 찾기
int minValue = numbers.Min();
int maxValue = numbers.Max();Dim minValue As Integer = numbers.Min()
Dim maxValue As Integer = numbers.Max()목록을 배열로 변환하기
목록을 배열로 변환하려면 ToArray 메소드를 사용할 수 있습니다:
int[] numbersArray = numbers.ToArray();Dim numbersArray() As Integer = numbers.ToArray()IronPDF를 사용하여 목록 데이터를 PDF로 내보내기
이 섹션에서는 IronPDF 라이브러리를 사용하여 리스트의 데이터를 PDF 파일로 내보내는 방법을 설명합니다. 이것은 보고서나 데이터의 인쇄 가능한 버전을 생성하고 싶을 때 유용할 수 있습니다.
먼저 프로젝트에 IronPDF NuGet 패키지를 다운로드하고 설치하십시오:
다음으로 코드에 IronPdf 네임스페이스를 포함시킵니다:
using IronPdf;Imports 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);
}Imports System.Collections.Generic
Imports System.Text
Imports IronPdf
Private Sub ExportListToPdf(ByVal data As List(Of String), ByVal pdfFilePath As String)
' Create an HTML table from the list data
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("<table><tr><th>Item</th></tr>")
For Each item As String In data
htmlBuilder.Append($"<tr><td>{item}</td></tr>")
Next item
htmlBuilder.Append("</table>")
' Convert the HTML table to a PDF using IronPDF
Dim renderer = New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
' Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath)
End Sub이 함수를 사용하려면 단순히 목록과 원하는 PDF 파일 경로로 호출하십시오:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
ExportListToPdf(fruits, "Fruits.pdf")이는 IronPDF를 사용하여 HTML을 PDF로 변환함을 통해 과일 목록이 있는 테이블을 포함하는 "Fruits.pdf"라는 PDF 파일을 생성할 것입니다. HTML 테이블에 사용자 정의 스타일을 추가하거나 PDF에 추가 콘텐츠를 추가하는 것과 같은 방식으로 ExportListToPdf 함수를 필요에 맞게 수정할 수 있습니다.

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

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


