상세 컨텐츠

본문 제목

유니티 딕셔너리

유니티/기능

by MJ_119 2024. 11. 1. 22:50

본문

Unity에서 Dictionary 사용 시 Add()와 인덱서([])를 사용하는 방법의 차이는 다음과 같습니다:

1. Dictionary.Add() 사용법

dictionary.Add("Bulletpool", bulletpool);

 

 

  • Add() 메서드는 새로운 키-값 쌍을 추가할 때 사용됩니다.
  • 키가 이미 존재할 경우 예외를 발생시킵니다. 이로 인해, 중복된 키가 추가되지 않도록 보장할 수 있습니다.
  • 주로 고정된 초기 데이터중복 없이 키를 추가해야 할 때 유용합니다.
var dictionary = new Dictionary<string, GameObject>();
dictionary.Add("Bulletpool", bulletpool); // 첫 추가라면 정상 동작
dictionary.Add("Bulletpool", bulletpool); // 중복된 키로 예외 발생

 

2. 인덱서([]) 사용법

dictionary["effectpool"] = effectpool;

 

 

  • 키가 존재하면 값을 덮어쓰기 하고, 존재하지 않으면 새로 추가합니다.
  • 키가 이미 있든 없든 해당 키의 값에 접근하고자 할 때 사용됩니다.
  • 동적 데이터값이 자주 업데이트되는 데이터를 다룰 때 유용합니다.

예시:

var dictionary = new Dictionary<string, GameObject>();
dictionary["effectpool"] = effectpool; // 새로 추가
dictionary["effectpool"] = anotherEffectPool; // 기존 키가 있으므로 덮어쓰기

 

어떤 경우에 무엇을 사용해야 하는가

  • 고정된 데이터나 초기화 중 키 중복이 일어나지 않게 보장하고 싶을 때는 Add()를 사용하는 것이 좋습니다.
  • 동적 데이터 갱신이 필요하고 키-값 쌍을 추가 또는 갱신해야 할 때는 인덱서를 사용해 유연하게 값을 할당할 수 있습니다.

따라서 상황에 맞게 선택하는 것이 중요하며, 중복된 키가 들어오면 안 되는 경우엔 Add(), 이미 있는 키에 값을 자주 덮어쓸 경우엔 인덱서가 더 적합합니다.

 

 

 

관련글 더보기