C# İnt İle Int32

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    siyahbereli
    siyahbereli's avatar
    Kayıt Tarihi: 03/Ocak/2006
    Erkek

    Hocalar, çok basic bir soru sormak istiyorum yazılım bilgim yok. anlatırken giriş seviyesinde olursa sevinirim :)

    başlattığım proje konsol uygulaması

    variable tanımlıyorum " int Rk1, Rk2, Rk3 ü çağırıp ekrana 1 rakam girdireceğimi farzedin.

    burada Rk1, Rk2, Rk3 ü ben zaten int olacak diyorum

    alt rafta Console.WriteLine derken niçin Tekrar int bir değişkeni yani yukarıda int olacak dediğim variable'ı tekrar Int32 ye neden tekrar convert ediyorum. önceden Rk1, Rk2, Rk3 double yada string bir değer demedimki! int dedim

    neden Int rakamsal bir değer dönsün dediğim şeye tekrar bu rakam dönsün diyorum =  niçin convert.ToInt32 diyeyim?

    mantığını anlayamadım.

    -------------------------------------------------

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace App7
    {
        class Program
        {
            static void Main(string[] args)
            {
                //sistem bana 3 tane rakam soracak, Girdiğim rakamları toplayacak.
                //Sonucu birinci tanımladığım rakama bölüp 5 ile çarpacak.
                //Muhteşem ! birinci Sayı: x ikinci sayı: x Üçüncü Sayı: x Doğrultusunda Bölüm Sonuç:x

                int Rk1, Rk2, Rk3;
                double BolumSonuc, Sonuc;

                Console.WriteLine("Lutfen birinci rakami giriniz.");
                Rk1 = Convert.ToInt32(Console.ReadLine());
               
                Console.WriteLine("Lutfen ikinci rakami giriniz.");
                Rk2 = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("Lutfen ucuncu rakami giriniz.");
                Rk3 = Convert.ToInt32(Console.ReadLine());

                int ToplamSonuc = Rk1 + Rk2 + Rk3;

                BolumSonuc = (Double)ToplamSonuc / (Double)Rk1;

                Sonuc = BolumSonuc * 5D;

                String Cikti = String.Format(" Muhtesem ! Birinci Sayi: {0} ikinci Sayi: {1} Ucuncu Sayi {2}: dogrultusunda Bolum Sonuc: {3} Sonuc: {4} ", Rk1, Rk2, Rk3, BolumSonuc, Sonuc);

               
                Console.WriteLine(Cikti);
                Console.ReadLine();


           


            }
        }
    }

    siyahbereli tarafından 01/Ara/17 08:43 tarihinde düzenlenmiştir

    Yapmadıklarınıza pişman olmaktansa, Yaptıklarınıza pişman olun...Yapın pişman olun, yada yapmayın yine pişman olun.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AdReNaLiNe
    AdReNaLiNe's avatar
    Kayıt Tarihi: 11/Aralık/2007
    Erkek

    Convert.ToInt32(Console.ReadLine());

     

    burada olan şey senin int olarak tanımlamış olduğun değişkene ekranda yazdığın her ner ise onu int olarak convert edip değikene vermesidir. Hatta ve hatta sen bu şekilde ekrana sayı değilde harf yazarsan exception alırsın :) 

    int Rk1;

    int.TryParse(Console.ReadLine(), out Rk1);

     

    bu şekilde yap.

     


    iOS Developer Tahribat Haber Uygulaması : http://www.tahribat.com/Forum-Iphone-Icin-Tahribat-Haberler-Uygulamasi-117103/
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    siyahbereli
    siyahbereli's avatar
    Kayıt Tarihi: 03/Ocak/2006
    Erkek
    AdReNaLiNe bunu yazdı

    Convert.ToInt32(Console.ReadLine());

     

    burada olan şey senin int olarak tanımlamış olduğun değişkene ekranda yazdığın her ner ise onu int olarak convert edip değikene vermesidir. Hatta ve hatta sen bu şekilde ekrana sayı değilde harf yazarsan exception alırsın :) 

    int Rk1;

    int.TryParse(Console.ReadLine(), out Rk1);

     

    bu şekilde yap.

     

    Yani yukarıda variable tanımlarken ben int olacak dedim. onunla bitmiyor iş ha? onumu demek istiyorsun mecburen aşağıyada girilen değer Int32 olarak dönsün diyoruz onu şimdi anladım sağolda. asıl kafama oturmayan şey kodun crash olması değil ya da doğru yazılması değil int olarak tanımladığım bir değer adam zaten rakam girecek niye tekrar Int32 ye konvert ediyoruz

    yani ben niçin aşağıdaki yaptığım kod gibi yazamıyorum

    int Rk1,
                double BolumSonuc, Sonuc;

                Console.WriteLine("Lutfen birinci rakami giriniz.");
                int Rk1 = (Console.ReadLine());    // böyle yazarsam derleyici bana illa bunu çevireceksin diyor. ya kardeşim int değişkeni zaten rakam yazılan bir değişken değilmi ? neden tekrar In32 ye çeviriyorum ??

     


    Yapmadıklarınıza pişman olmaktansa, Yaptıklarınıza pişman olun...Yapın pişman olun, yada yapmayın yine pişman olun.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    Hocam Console.ReadLine() geriye string üreten bir fonksiyon.

    dolayısı ile Console.ReadLine() ile klavyeden aldığın bir değişken string türünden olacaktır.

    eğer Convert.ToInt32 ile türünü integer yapmazsan int bir değişkene string bir değişken tanımlamaya çalışmış olursun.

    o yüzden bu tanımlamayı yapıyorsun.


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    siyahbereli
    siyahbereli's avatar
    Kayıt Tarihi: 03/Ocak/2006
    Erkek
    DuPi bunu yazdı

    Hocam Console.ReadLine() geriye string üreten bir fonksiyon.

    dolayısı ile Console.ReadLine() ile klavyeden aldığın bir değişken string türünden olacaktır.

    eğer Convert.ToInt32 ile türünü integer yapmazsan int bir değişkene string bir değişken tanımlamaya çalışmış olursun.

    o yüzden bu tanımlamayı yapıyorsun.

    Hocam başına Rk1 dedim ya?  yukarıya bakmıyormu Rk1 variableda bu adam int demiş ha demekki burası int olacak demiyormu derleyici ?? anlayamadım şu mantığı ya


    Yapmadıklarınıza pişman olmaktansa, Yaptıklarınıza pişman olun...Yapın pişman olun, yada yapmayın yine pişman olun.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AdReNaLiNe
    AdReNaLiNe's avatar
    Kayıt Tarihi: 11/Aralık/2007
    Erkek
    DuPi bunu yazdı

    Hocam Console.ReadLine() geriye string üreten bir fonksiyon.

    dolayısı ile Console.ReadLine() ile klavyeden aldığın bir değişken string türünden olacaktır.

    eğer Convert.ToInt32 ile türünü integer yapmazsan int bir değişkene string bir değişken tanımlamaya çalışmış olursun.

    o yüzden bu tanımlamayı yapıyorsun.

    ilave olarak TryParse kullan dememdeki sebepte ConsoleReadLine(); sen ne girersen gir sana string döneceği için o dönen stringin rakam olup olmadığını parse etmeyi dener. Rakamsa alır int değişkenine verir değilse zaten 0 olur.


    iOS Developer Tahribat Haber Uygulaması : http://www.tahribat.com/Forum-Iphone-Icin-Tahribat-Haberler-Uygulamasi-117103/
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    siyahbereli
    siyahbereli's avatar
    Kayıt Tarihi: 03/Ocak/2006
    Erkek
    DuPi bunu yazdı

    Hocam Console.ReadLine() geriye string üreten bir fonksiyon.

    hocam şöylemi demek istiyorsun. Console.ReadLine() yazdığında yukarıdaki değişken ne olursa olsun string döner.? bu yüzden başına Int32 koyuyoruz ? niçin int32 de sadece int değil dersek sanrıım string bir değer int dönmüyor diyeceksiniz inşallah doğru anlamışımdır. ?


    Yapmadıklarınıza pişman olmaktansa, Yaptıklarınıza pişman olun...Yapın pişman olun, yada yapmayın yine pişman olun.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    problem şurda senin klavyeden okuduğun değer her zaman string türündedir.

    senin ürettiğin değişkenin türünü sen bilip klavyeden okuduğun stringi o türe çevirmen lazım.

    fonksiyonlar bölümüne gelince daha iyi anlayacaksın.

    public static string ReadLine()

     

     

    DuPi tarafından 01/Ara/17 09:08 tarihinde düzenlenmiştir

    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek
    siyahbereli bunu yazdı
    DuPi bunu yazdı

    Hocam Console.ReadLine() geriye string üreten bir fonksiyon.

    hocam şöylemi demek istiyorsun. Console.ReadLine() yazdığında yukarıdaki değişken ne olursa olsun string döner.? bu yüzden başına Int32 koyuyoruz ? niçin int32 de sadece int değil dersek sanrıım string bir değer int dönmüyor diyeceksiniz inşallah doğru anlamışımdır. ?

    int32, int16, int64 kullanabilirsin bu alacağın int değerinin boyutu ile alakalı. 

    şöyle tekrar söyleyeyim.

    sen int türünde bir değişken tanımladın.

    klavyeden değer vermek istedin. 

    fakat bir saniye klavyeden okunan tüm değerler string türündedir! 

    o zaman onu int türüne dönüştürmen gereklidir.

    işte o zaman Convert kullanman gerektiğini anlıyorsun.

    @AdReNaLiNe dediği olayda şu sen a harfine bassanda bunu int türüne çevirmeye çalışacak bazı dille bunu 65-97 olarak alır ama maalesef c# Convert hatası verecektir.

    o yüzden @AdReNaLiNe nin verdiği kodu kullanmak daha mantıklı.

     

     


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    siyahbereli
    siyahbereli's avatar
    Kayıt Tarihi: 03/Ocak/2006
    Erkek
    DuPi bunu yazdı
    siyahbereli bunu yazdı
    DuPi bunu yazdı

    Hocam Console.ReadLine() geriye string üreten bir fonksiyon.

    hocam şöylemi demek istiyorsun. Console.ReadLine() yazdığında yukarıdaki değişken ne olursa olsun string döner.? bu yüzden başına Int32 koyuyoruz ? niçin int32 de sadece int değil dersek sanrıım string bir değer int dönmüyor diyeceksiniz inşallah doğru anlamışımdır. ?

    int32, int16, int64 kullanabilirsin bu alacağın int değerinin boyutu ile alakalı. 

    şöyle tekrar söyleyeyim.

    sen int türünde bir değişken tanımladın.

    klavyeden değer vermek istedin. 

    fakat bir saniye klavyeden okunan tüm değerler string türündedir! 

    o zaman onu int türüne dönüştürmen gereklidir.

    işte o zaman Convert kullanman gerektiğini anlıyorsun.

    @AdReNaLiNe dediği olayda şu sen a harfine bassanda bunu int türüne çevirmeye çalışacak bazı dille bunu 65-97 olarak alır ama maalesef c# Convert hatası verecektir.

    o yüzden @AdReNaLiNe nin verdiği kodu kullanmak daha mantıklı.

     

     

    yani benim yukarıdaki basic koda istinaden 1000 tane değişkende tanımlamış olsam kullanıcı bir rakam gireceğinde o rakam string olarak bana dönecek, bende bana rakam dönsün istiyorsam direk int diyemiyorum mutlaka Int32,64 gibi bir değişkene konvert etmek zorundayım.

    Şimdi oturdu eyvallah. ben derleyicinin yorumlamasını (yukarıda int bir değişken dedim oraya bakar falan diye) kafamdan uydurmuş bulunuyorum vesselam.

    bundan sonra kod yazarken klavyeden gelecek veri her zaman string bir değer olarak düşüneceğim. ve her zaman konvert edeceğim. şeklinde düşüneceğim?

     


    Yapmadıklarınıza pişman olmaktansa, Yaptıklarınıza pişman olun...Yapın pişman olun, yada yapmayın yine pişman olun.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yazilimci
    Yazilimci's avatar
    Kayıt Tarihi: 01/Şubat/2014
    Erkek
    siyahbereli bunu yazdı
    DuPi bunu yazdı
    siyahbereli bunu yazdı
    DuPi bunu yazdı

    Hocam Console.ReadLine() geriye string üreten bir fonksiyon.

    hocam şöylemi demek istiyorsun. Console.ReadLine() yazdığında yukarıdaki değişken ne olursa olsun string döner.? bu yüzden başına Int32 koyuyoruz ? niçin int32 de sadece int değil dersek sanrıım string bir değer int dönmüyor diyeceksiniz inşallah doğru anlamışımdır. ?

    int32, int16, int64 kullanabilirsin bu alacağın int değerinin boyutu ile alakalı. 

    şöyle tekrar söyleyeyim.

    sen int türünde bir değişken tanımladın.

    klavyeden değer vermek istedin. 

    fakat bir saniye klavyeden okunan tüm değerler string türündedir! 

    o zaman onu int türüne dönüştürmen gereklidir.

    işte o zaman Convert kullanman gerektiğini anlıyorsun.

    @AdReNaLiNe dediği olayda şu sen a harfine bassanda bunu int türüne çevirmeye çalışacak bazı dille bunu 65-97 olarak alır ama maalesef c# Convert hatası verecektir.

    o yüzden @AdReNaLiNe nin verdiği kodu kullanmak daha mantıklı.

     

     

    yani benim yukarıdaki basic koda istinaden 1000 tane değişkende tanımlamış olsam kullanıcı bir rakam gireceğinde o rakam string olarak bana dönecek, bende bana rakam dönsün istiyorsam direk int diyemiyorum mutlaka Int32,64 gibi bir değişkene konvert etmek zorundayım.

    Şimdi oturdu eyvallah. ben derleyicinin yorumlamasını (yukarıda int bir değişken dedim oraya bakar falan diye) kafamdan uydurmuş bulunuyorum vesselam.

    bundan sonra kod yazarken klavyeden gelecek veri her zaman string bir değer olarak düşüneceğim. ve her zaman konvert edeceğim. şeklinde düşüneceğim?

     

    Hocam ekrana yazılan veya ekrandan alınan her giriş derleyiciye göre string dir. Çünkü bunun bir kurtarımı yok. Kullanıcı klavye üzerinde bulunan her karakteri yazabilir. Bu sebeple sen int istiyorsan bunu senin ayarlaman gerekiyor.


    Titanyumun gücü adına!!!
Toplam Hit: 2172 Toplam Mesaj: 14
int ve int32