첫 번째로, 지식의 부족, 많은 사람들 (많은 초심자, 어쨌든)에게 관련성을 부여하는 방법에 대해 사과드립니다. 유일한 프로그래밍 경험은 Unity입니다. 아니 that Unity, 내가 방금이 사이트를 검색하는 동안 들었어요. 그들은 단지 두 모든 용기이야 (열거 형이 없으면 <string, TValue> 사전 대신 컴파일 타임 오류가 발생할 수 있습니다.
class Cameras {
public Camera left, right;
} Cameras cameras;
나 자신이 클래스의 무리를 만드는 찾을 :
나는 이런 종류의 들어, 클래스보다 더 나은 데이터 구조가 있는지 알고 싶어요 개체), 그들은 더 나은 사전에 의해 제공 될 것 같은데 - 나는 열쇠로 문자열로 발생하지 않습니다 철자를 망칠 경우 컴파일 타임 오류 싶습니다. 또한 int가 어떤 객체와 함께 사용되는지 기억하고 싶지 않기 때문에 배열이나리스트를 사용하고 싶지도 않습니다. 이렇게 각 클래스에 대한 열거 형을 만들 수 있고 클래스 대신 사전으로 전환 할 수는 있지만 나에게는 어리 석습니다. 대체 방법이 있습니까? 필자에게 필요한 것은 열거 형 (Array) 또는 목록 (List)과 관련된 항목을 정의 할 수있게 해주는 구조이지만, 더 나은 아이디어가 있다고 확신합니다. ;-)
(*) 그러나 모든 정보가 제공 한 것부터 분명히 존재하는 모델입니다. 이것은 근본적인 문제처럼 보였습니다, 나에게, 그리고 왜 그것이되지 않았는지 궁금해. 아래 구문이 다른 용도로 사용되었는지는 모르겠지만 나에게 합리적인 것처럼 보입니다.
public class StereoCameraSystem : MonoBehaviour {
// You populate cameras in the Unity Editor GUI.
// Have the language implement something like this...
[SerializeField] Camera [] {left, right} cameras;
// define StereoCameraSide enum here
void ListCameras() {
Debug.Log(cameras[left]); // ...so you can use this...
Debug.Log(cameras[StereoCameraSide.Left]); //...and avoid this.
}
}
제목이 하나의 질문 (사전을 사용할 때 강력한 유형 검사) 인 것으로 보이지만 본문이 다른 질문 (소규모 수업)을 묻는 것 같습니다. – dthorpe
_ "enums가 없다"_ -'enum'을 사용하면 문제에 대한 훌륭한 해결책이 될 것입니다. 왜 당신을위한 옵션이 아닌가? –
질문을 수정했습니다.희망적으로 그 점이 명확 해집니다. 내가 여기서 들었던 것과 내가 배운 모든 것에서, 나는 나의 질문에 대한 대답이 "아무것도 유용하지 않다"고 생각한다. 나는 그것을 믿기가 힘듭니다. – Jessy