문 if (objects.Length < 0)
이 귀하의 경우 : 그 배열이 작동하지 않습니다 또한 내가 다른 뭔가를 시도, "크기 = 0"
public GameObject[] objects;
void CheckArray()
{
if (objects.Length < 0) // this doesn't work
{
Debug.Log("Empty!");
}
else
{
Debug.Log("Not Empty"); // this gets logged out
}
}
위의 작동하지 않는 관리자에서 비어 있지만, 잘못된.
어레이가 비어있는 경우 일반적으로 0
입니다. 이 0
때 당신이 체크되기 때문에 배열의 길이가 대신 배열 길이 인 경우의 0
에 동일 적은 0
보다 경우, if (objects.Length < 0)
는
가되어야한다 .. 사실이 없을 것
if (objects.Length == 0)
또는
if (objects.Length <= 0)
편집 :
이 기능이 작동하지만 나에게 이해가되지 않습니다. 왜냐하면 개체를 추가하고 "objects [0]"을 확인하면 해당 개체가 반환됩니다. 즉, 배열에 1 개체가 포함되어 있기 때문입니다. 색인 0에서 편집되었지만 동일한 시간의 "길이"가 0임을 의미합니다.
요소가 있습니다. 내가 비어있는 말은 편집자가 인 크기를 설정하지 않는다는 의미였습니다. objects
은 공용 변수이므로 Editor는 기본값을 0
으로 지정합니다. 그 0
내가 빈 배열이라고 할 때 의미했던 것입니다. Debug.Log(objects.Length);
은 0
을 출력합니다.
빈 배열 :
비어 있지 않은 배열 :
이때
, Debug.Log(objects.Length);
는 심지어 요소 1가 null
또는 아무것도 할당되지만 3 인쇄해야 그것에. objects.Length
은 항상 편집기에서 설정된 크기와 같습니다. 각 개별 요소가 null 인 경우
GameObject camera = objects[0];
GameObject someObj = objects[1]; //ELEMENT IS NULL
GameObject dLight = objects[2];
확인하고 싶으십니까?
for (int i = 0; i < objects.Length; i++)
{
if (objects[i] == null)
{
Debug.Log("Empty!: " + i);
}
else
{
Debug.Log("Not Empty: " + i);
}
}
'objects.Length'가'0 '일 때 디버그 로그에서 예상되는 결과는 무엇입니까? –