"knownSolarSystems"라는 배열의 모든 객체를 "확인"하려고합니다. 그러나 정의 때문에 모든 배열 슬롯이 설정됩니다. 내가 배열의 첫 번째 (0 번째?) 슬롯에 붙여 넣은 CSolarSystem 클래스의 객체를 생성보다도 C# 배열의 슬롯이 클래스 객체로 채워 졌는지 확인합니다.
CSolarSystem[] knownSolarSystems;
public void Start() {
knownSolarSystems = new CSolarSystem[10];
knownSolarSystems[0] = new CSolarSystem();
}
(적어도 비어 lels 아니다). (knownSolarSystems [0])
비록 하나의 객체를 가지고 있어도, foreach 루프는 아직 정의되지 않은 몇 가지 객체에 접근하려고하기 때문에 에러를 내고 있습니다.
이것은 foreach 루프입니다 :
foreach(CSolarSystem solarSystem in knownSolarSystems) {
solarSystem.Update();
}
는 그리고 이것은 오류입니다 :
NullReferenecException: Object reference not set to an instance of an object CUniverse.Update()
그래서이 채워지지 않는 그 슬롯을 "생략"하는 방법이있다? 안부와
, deSpeach
'Where'를 사용하여'null '값을 건너 뛰는 것 외에 길이 10의 배열로 이것을 초기화해야합니까? 대신'List'을 사용할 수 있습니까? –
내가 원했지만 효과적으로 사용하는 방법을 모르므로 배열을 사용합니다. – user3783593
실제로 List는인데 여기서 T는 CSolarSystem입니다. 이렇게하면 얼마나 많은 객체를 처리해야하는지 손에서 미리 알아야 할 필요가 없습니다. 물론 태양계에 얼마나 많은 객체가 있는지 알면 배열을 사용하고 http://astronomy.stackexchange.com/에서 결과를 게시 할 수 있습니다. -) –
Steve