inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phát triển trò chơi Unity bắt đầu từ đầu

sắp xếp

Dictionary 관련 메소드 사용 질문 드립니다.

Đã giải quyết

64

Lucas

27 câu hỏi đã được viết

0

public Dictionary<string, int> c = new Dictionary<string, int>();

c.Add("A", 5);
public Dictionary<string, int> c = new Dictionary<string, int>();

private void Start()
{
    c.Add("A", 5);
}

왜 Start() 메서드 안에 있으면 에러가 발생하지 않고 dictionary 선언 후 바로 Add를 하면 에러가 발생하는지 궁금합니다.

image.png

 

C# unity collider .csv json-parsing

Câu trả lời 1

1

Pinous

안녕하세요 🙂
C#에서는 클래스의 필드 선언부에서 메서드 호출(문장 실행)을 직접적으로 할 수 없습니다.

c.Add("A", 5);는 명령문이기 때문에 클래스 바디에서 직접 실행할 수 없습니다.

클래스 바디에서 실행할 수 있는 것은 필드 초기화 뿐입니다.

Start는 Unity의 라이프사이클 메서드이며, 게임 오브젝트가 활성화될 때 호출합니다.
이 시점에는 c라는 딕셔너리가 정확히 new Dictionary<string, int>();
로 초기화가 되어있기 때문에 .Add()가 가능해집니다.

public Dictionary<string, int> c = new Dictionary<string, int>()

{

{ "A", 5 }

};
필드 선언시에 데이터를 함께 넣고 싶으시다면 초기화 구문을 함께 사용하시면 됩니다.

1

Lucas

아하 unity의 작동 방식이 조금 더 이해된 것 같아요. 감사합니다 🙂

OAuth방식 강의 문의

0

15

0

싱글턴패턴

0

11

1

코드 관련 질문

0

21

2

섹션7 수업자료 업로드 부탁드립니다.

0

24

2

Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의

0

19

1

프로젝트 질문 문의

0

46

1

UI 기능 관련 질문이 있습니다!

0

37

2

03-01 (16. CharacterController)

0

31

2

TLS 질문드립니다.

0

43

2

anim.SetTrigger("IsHit")이 해제가 안됩니다.

0

53

1

8:56초 b.Remove(3) 부분 설명에 대해 질문드립니다.

0

55

2

2D게임에서 트램플린 Trigger감지관련

0

111

1

Tilemap Collider 2D 사용 시 평지에서 캐릭터가 안 움직이는 현상

1

166

1

Game화면에서 캐릭터가 끊기듯 움직입니다.

0

158

1

Start 자동 완성이 안됩니다.

0

179

2

섹션2. 메서드와 접근자에서 잘못된 설명이 있어요.

0

202

2

애니메이션 점프 적용되지 않는 문제

0

319

2

캐릭터 이동 구현 rotation 값 변경

0

251

2

안녕하세여 3D 오브젝트 Material 관련 질문입니다

1

230

1

제가 놓친 부분이 있는데 혹시 어디서 확인할 수 있나요...?

1

323

2

화면 설정 문의의 건

2

249

2

anim.SetBool

1

308

2

Start문 자동완성

2

231

1

2D Object에 Square가 안나옵니다 ㅠ

2

438

2