C#에서는 데이터를 저장하고 관리하기 위해 다양한 컬렉션 및 배열을 사용할 수 있습니다. 이번 글에서는 List<string>, List<List<string>>, 그리고 2차원 배열(Matrix)의 개념과 활용법을 살펴보고, for 문을 이용한 예제를 함께 다뤄보겠습니다.
1. List
List<string>은 문자열을 저장할 수 있는 동적 리스트입니다. 크기가 자동으로 조절되므로 편리하게 사용할 수 있습니다.
예제: List 활용
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");
names.Add("Charlie");
// for문을 이용한 출력
for (int i = 0; i < names.Count; i++)
{
Console.WriteLine(names[i]);
}
}
}
실행 결과:
Alice
Bob
Charlie
2. List<List> (중첩 리스트)
List<List<string>>은 리스트 안에 리스트를 저장하는 자료구조로, 동적인 2차원 배열처럼 사용할 수 있습니다.
예제: List<List> 활용
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<List<string>> students = new List<List<string>>();
students.Add(new List<string> { "Alice", "A" });
students.Add(new List<string> { "Bob", "B" });
students.Add(new List<string> { "Charlie", "C" });
// 중첩 for문을 이용한 출력
for (int i = 0; i < students.Count; i++)
{
for (int j = 0; j < students[i].Count; j++)
{
Console.Write(students[i][j] + " ");
}
Console.WriteLine();
}
}
}
실행 결과:
Alice A
Bob B
Charlie C
3. 2차원 배열(Matrix)
C#에서는 [,]을 사용하여 2차원 배열을 선언할 수 있습니다. 크기가 고정되지만, 특정한 행과 열의 값을 쉽게 접근할 수 있습니다.
예제: 2차원 배열 활용
using System;
class Program
{
static void Main()
{
string[,] matrix =
{
{ "Alice", "A" },
{ "Bob", "B" },
{ "Charlie", "C" }
};
// 2중 for문을 이용한 출력
for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
{
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}
}
}
실행 결과:
Alice A
Bob B
Charlie C
4. List<List>와 2차원 배열 비교
비교 항목List<List>2차원 배열 (Matrix)
크기 조정 | 동적 조정 가능 | 고정됨 |
성능 | 약간 느릴 수 있음 | 상대적으로 빠름 |
사용 용도 | 유동적인 데이터 관리 | 고정된 크기의 데이터 처리 |
마무리
이제 List<string>, List<List<string>>, 그리고 2차원 배열(Matrix)의 개념과 for 문을 활용한 예제를 익혔습니다. 각각의 구조는 상황에 맞게 선택하여 사용할 수 있으며, 데이터 크기와 변경 가능성을 고려하여 적절한 방식을 선택하는 것이 중요합니다.
다음에도 유용한 C# 관련 정보로 찾아뵙겠습니다! 😊