Unity 3D CS0022 hatasının anlamı ve çözümü nedir?
error CS0022, 2D dizin oluşturanların karşılaşabilecekleri bir hatadır. Gelin çözümünü birlikte inceleyelim.
Semptom
Console panelinizde aşağıdaki hatayı görüyorsanız:
error CS0022: Wrong number of indexes `__’ inside[], expected `__’
Sebep
Oluşturduğunuz dizini kullanırken köşeli parantezler arasındaki değerleri kurallara uygun olmayan şekilde belirlerseniz bu hata ile karşılaşırsınız.
public class scriptAdi: MonoBehaviour
{
public int[] dizinAdi= new int[12];
void Start()
{
Debug.Log(dizinAdi[0, 0]);
}
}
Bu örneğe göre aşağıdaki gibi bir hata ile karşılaşırsınız..
error CS0022: Wrong number of indexes `2' inside[], expected `1'
CS0022 Hatası Çözüm
Yine Yukarıdaki hata örneğinden yola çıkılırsa iki çözüm yöntemi mevcuttur.
1.Yöntem
Bu yöntemde yapmamız gereken örnekteki gibi 2D dizini doğru şekilde oluşturmaktır. Aşağıdaki örnekteki gibi iki boyutlu dizin oluşturulmalı ve Debug.Log’da [0, 0] ile her iki boyut ta gösterilmelidir.
public class scriptAdi: MonoBehaviour
{
public int[,] dizinAdi= new int[12,12];
void Start()
{
Debug.Log(dizinAdi[0, 0]);
}
}
2.Yöntem
Bu yöntemde ise yukarıdaki hata örneğinden yola çıkarak yapmak gereken 2D dizin yapmak yerine tek dizin oluşturmaktır. Aşağıda tek boyutlu bir dizi oluşturulmuştur. Debug.Log ile console çıktı verilirken de oluşturulan dizinin indeksi belirtilmiştir. Böylece hata çözülmüştür.
public class scriptAdi: MonoBehaviour
{
public int[] dizinAdi= new int[12];
void Start()
{
Debug.Log(dizinAdi[0]);
}
}
İlgini çekebilecek bir makale:
Unity 3D C# derleme hataları nasıl yorumlanır ?
Bağımsız(indie) Oyun Geliştiricisi kime denir ? ve Neler yapar?
Cevap bırakın