Bu c# kodu daha kısa nasıl yazabilirim?

mert (1) 9 yıl önce sordu

if(selectedCar==0){
            cars[0].SetActive(true);
            cars[1].SetActive(false);
            cars[2].SetActive(false);
            cars[3].SetActive(false);
            cars[4].SetActive(false);
        }
        else if (selectedCar==1){
            cars[0].SetActive(false);
            cars[1].SetActive(true);
            cars[2].SetActive(false);
            cars[3].SetActive(false);
            cars[4].SetActive(false);
        }
        else if (selectedCar==2){
            cars[0].SetActive(false);
            cars[1].SetActive(false);
            cars[2].SetActive(true);
            cars[3].SetActive(false);
            cars[4].SetActive(false);
        }
        else if (selectedCar==3){
            cars[0].SetActive(false);
            cars[1].SetActive(false);
            cars[2].SetActive(false);
            cars[3].SetActive(true);
            cars[4].SetActive(false);
        }
        else if (selectedCar==4){
            cars[0].SetActive(false);
            cars[1].SetActive(false);
            cars[2].SetActive(false);
            cars[3].SetActive(false);
            cars[4].SetActive(true);
        }

mert 9 yıl önce

*** for(int i = 0; i < cars.Length; i++) { cars[i].SetActive(selectedCar==i); } ile çözdüm

murat 9 yıl önce

met çözümünü cevap olarak yazıp soruyu kapatır mısın?

Toplam 1 cevap


beytullahakyuz (181) 8 yıl önce cevapladı

cars[0].SetActive(false);
cars[1].SetActive(false);
cars[2].SetActive(false);
cars[3].SetActive(false);
cars[4].SetActive(false);

switch(selectedCar)
            {
                case 0: cars[0].SetActive(true); break;
                case 1: cars[1].SetActive(true); break;
                case 2: cars[2].SetActive(true); break;
                case 3: cars[3].SetActive(true); break;
                case 4: cars[4].SetActive(true); break;
            }