• 27-06-2019, 01:44:42
    #1
    Soru şu
    String turunde oyunlar dizisi oluşturun ve istediğiniz 5 adet dizi tanımlayın, dizi indislerinden birinin ismi Limbo olucak, Ardından Limbo varmı yok mu kontrol edin, Limbo varsa, Limbo bulundu yazsın yoksa Limbo bulunamadı yazsın,

    Bu soruda boolen true tanımlıyoruz ama false olarak yazıyoruz, işaretlediğim her iki yerde neden bool=true değilde false yazıyoruz, cevap verirseniz sevinirim
    Söylediğim gibi yaptım ancak yanlış oldu, bool=false burda doğru ancak sebebini öğrenmek istiyorum

  • 27-06-2019, 01:57:26
    #2
    Başlangıç değerine true yazmışsınız. Eğer dizide limbo olmasaydı bile siz alttaki kutucuğa true yazsaydınız ilk değerini döndürmüş olucaktınız. En mantıklı sonucu sayı vererek anlarsınız. Mesela int 5 olarak tanımlayın. Bulduğunda int 1 ekrana yazsın bulamadığında int 0 ekrana yazsın. Mantığını anlamış olucaksınız.
  • 27-06-2019, 02:04:42
    #3
    True açılımı doğru demek false yanlış demek kısacası.

    oyunlar[i] == "limbo2" // oyunlar[i] içeriği limbo2 ye eşitse, kontrol değişkeni yanlışa eşitle ve dur diyorsun ve if bloğunu durduruyorsun. Daha sonra diğer if ifadesi çalışıyor otomatikman.

    Ordada kontrol değişkeninin kontrolu yapılıyor.


    Ayrıca dizi de Limbo olarak tanımlamışsın. Fakat if ifadesinde limbo2 yazıyor. Bu durumda hiçbir zaman eşit olmayacaktır. Çünkü dizide böyle bir değer yok.
  • 27-06-2019, 02:08:34
    #4
    True = Doğru (1)
    False = Yanlış (0)

    2 adet zıt durum mevcut. Bunlar bir şeyin doğru yada yanlış olduğunu anlamak için var değiller. 2 zıt durumu ayırt edebilmek için vardırlar .
    bool sadece 1 veya 0 yani true yada false alan bir değerdir.
    Siz ilk etapta kontrol değişkenine 1 verdiniz. daha sonra var ise bunu 0 yap dediniz. daha sonra bunu kontrol edip 0 ise oyun vardır anlamında kullandınız.
    genel olarak mantık böyle , illa Doğru diye değer verdiğinizde olayın doğru olduğu anlamına gelmez. Yazılım mirasına göre aslında ilk etapta false olarak yapmanız daha sonrada true ise "Oyun var" demeniz gerekmeydi
    ama kodunuzda her hangi bir yanlış veya sacmalık yok
  • 27-06-2019, 02:33:13
    #5
    apo1221 adlı üyeden alıntı: mesajı görüntüle
    Soru şu
    String turunde oyunlar dizisi oluşturun ve istediğiniz 5 adet dizi tanımlayın, dizi indislerinden birinin ismi Limbo olucak, Ardından Limbo varmı yok mu kontrol edin, Limbo varsa, Limbo bulundu yazsın yoksa Limbo bulunamadı yazsın,

    Bu soruda boolen true tanımlıyoruz ama false olarak yazıyoruz, işaretlediğim her iki yerde neden bool=true değilde false yazıyoruz, cevap verirseniz sevinirim
    Söylediğim gibi yaptım ancak yanlış oldu, bool=false burda doğru ancak sebebini öğrenmek istiyorum

    Burada kontrol değişkenini false olarak tanımlayıp, bulununca true yaparak if kontrolünde true ise oyun var yazdırmak daha mantıklı sonuçta false olumsuzluk ifade ediyor. For döngüsü içinde tekrar kontrol değişkenine Else şartıyla true atamanız gereksiz olmuş. Ayrıca C# Linq kütüphanesinin sunduğu kolaylıktan yararlanarak bu iş tek satır kodla da yapılabilir.
    Debug.Log(oyunlar.Contains("Limbo") ? "Oyun var" : "Oyun yok");