728x90
For의 컬렉션 접근 방법
for문은 콜렉션의 데이터에 직접 접근하여 해당 리스트의 값을 수정할 수 있습니다.
List<Item> items = new List<Item>() { new Item("Sword"), new Item("Gun") };
for (int i = 0; i < items.Count; ++i)
{
items[i] = new Item("None");
Console.WriteLine(items[i].Name);
}
// Result
None
None
Foreach의 콜렉션 접근 방법
foreach문은 컬렉션의 복사본에 접근합니다. 복사본의 데이터들은 원래 컬렉션의 데이터들을 참조하고 있기 때문에 데이터 안에 있는 값을 수정하는 것은 문제가 되지 않지만, 데이터 그 자체를 바꾸는 것은 불가능합니다.
List<Item> items = new List<Item>() { new Item("Sword"), new Item("Gun") };
foreach (Item item in items)
{
item.Name = "None"; // OK!
item = new Item("None"); // Error!
}
728x90
반응형
'Language > C#' 카테고리의 다른 글
가비지 컬렉션(Garbage Collection)이란 무엇인가? (0) | 2023.05.14 |
---|---|
C# ref, out, 참조에 의한 전달(pass by reference) (0) | 2023.04.16 |
C# 확장메소드(Extension Method) (0) | 2023.04.16 |
C#에서 const, readonly 차이 (0) | 2023.03.29 |