728x90

포톤라이브러리에서 사용되는 커스텀 프로퍼티 값을 추려내려 하니 Dictionary 가 아닌 DictionaryEntry로만 가능했다

 
foreach (DictionaryEntry dic in PhotonNetwork.LocalPlayer.CustomProperties)
        {
            if(dic.Key.Equals("Message"))
            {
                chatText.text += dic.Value.ToString() + "\n";
            }
        }

 

PhotonNetwork.LocalPlayer.CustomProperties 에 대한 설명

그렇다 해쉬테이블이였다

Dictionary<TKey, Tvalue>클래스는 컬렉션 형식 중 하나다

- 키/값 쌍을 저장하는데 사용되며, 키와 값을 연결하여 데이터를 보관한다

- 특정 키에 대한 값을 검색하고 수정하는 등의 기능을 제공한다

- 주로 데이터를 검색하고 관리하기 위한 자료 구조로 사용됨

 

DictionaryEntry는 특별한 형태의 데이터 형식으로,

- 키와 값의 쌍을 하나의 개체로 저장한다

- 주로 Hashtable과 같은 해시 테이블 구조에서 사용된다

- Key및 Value 속성을 통해 키와 값을 추출할 수 있다

 

요약하면 Dictionary는 키와 값을 직접 연결하고 검색하고 수정하는 등을 위한 데이터 구조이며

DictionaryEntry는 해시 테이블과 같은 자료 구조에서 키와 값 쌍을 관리하기 위한 도우미 클래스 이다

효율성을 고려한다면 데이터 검색 및 관리를 위해 Dictionary를 사용하는 것이 좋고 DictionaryEntry는 이전버전의 .NET에서 주로 사용되긴 한다는 말 (구식-DictionaryEntry 신식-Dictionary)

PhotonNetwork.LocalPlayer.CustomProperties에서 요구하는 형식은 해시 테이블 형태이니 DicionaryEntry가 쓰인 것

728x90

'Unity' 카테고리의 다른 글

[Unity] Global과 Local  (1) 2023.10.20
[Unity] Addressable Patch System  (0) 2023.09.22
PhotonNetwork_Chat2  (0) 2023.08.30
PhotonNetwork_Chat  (0) 2023.08.30
비주얼 스튜디오 코드에서 using Photon.Pun 이 안되는 경우  (0) 2023.08.29
Posted by 바르마스
,