Post
[ STUDY/유니티 ]
2022. 8. 2. 19:43
유니티 프로젝트에서 UI에 나타내는 Text중에 중간중간 변수의 값이 들어가야하는 상황이 나타났습니다.
하지만, 문자열을 쓰다가 중간에 다른 변수값을 string으로 변환해서 또 집어넣고, 또 다음문장이 들어왔다가 또! 다른 변수값을 string으로 변환해서 ..! 우와 완전 귀찮네요!
그리고 string에서 + 연산자를 통해 문자열을 합쳐줄때마다 새로운 인스턴스가 생성되어 결국 가비지가됩니다!
string 중간중간 변수의 값이 들어가야하는 상황이 발생했을때, 전체를 모두 문자열로 치환하고 사용한다면
1. 귀찮음
2. +연산자로 인한 가비지생성( 이는 StringBuilder로 해결가능)
그러던와중에 "문자열보간"이라는 기능을 찾았는데, 일단 보면 바로 이해가 됩니다
int charLevel;
int charMaxHP;
//안좋은 예
Window.transform.GetChild(2).GetComponent<Text>().text = "캐릭터 레벨: "+ charLevel.toString() +"\n 캐릭터 최대HP : "+ charMaxHP.toString();
//문자열 보간
Window.transform.GetChild(2).GetComponent<Text>().text = $"캐릭터 레벨: {charLevel} \n 캐릭터 최대HP : {charMaxHP}"
너무 간단해서 딱히 제가 적을것도 없지만, $ 라는 특수문자를 문자열앞에 세워두기만 하면 보간문자열기능을 바로 사용할 수 있습니다.
int apple=5,grape=6;
//문자열 보간은 변수끼리 계산도 가능해요!
Window.transform.GetChild(2).GetComponent<Text>().text = $"사과랑 포도를 더하면: {apple + grape}"
//11로 출력이됩니다 :D
참고로 같은 자료형끼리는 계산도 가능하니, 정말 편리합니다! :D 최고에요! XD
+) 여담이지만.. 저는 적용할려고 하였으나 따로 고려할 사항들이 생겨 못했습니다.. 그래도 엄청 유용해보이니 다들 개발 화이팅!
'STUDY > 유니티' 카테고리의 다른 글
[C#] null을 비교하기위한 여정2, is 와 FakeNull (0) | 2023.01.21 |
---|---|
[C#] null을 비교하기위한 여정1, ==와 Equals() (0) | 2023.01.18 |
[Unity] 메지카복셀에서 내가 만든 캐릭터 유니티로 불러오기 (0) | 2022.09.10 |
[UniRx] UniRx에 대해서 알아보기 (0) | 2022.08.02 |
[텍스처 최적화]스프라이트 아틀라스 사용법 (0) | 2022.06.16 |