Kayıt Ol

Giriş

Şifremi Kaybettim

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Giriş

Kayıt Ol

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?

Hakkında Eyüp Yılmaz

Şu sıralar insan ve kainat araştırmalarında... Hayat'ın kaynağını merak ediyor...

Beni Takip Et

Cevap bırakın