Arkadaşlar java da kullanıcıdan veri alırken : int y = 0 ; Scanner tara = new Scanner (System.in); y = tara.nextInt();
diyoruz
ama c#'ta int y = 0; y = Convert.ToInt16(Console.ReadLine());
diyoruz
benim anlamadığım java da hiç bir convert işlemi yapmazken c#'ta neden convert işlemi yapıyoruz ? bir de c#'ta convert işlemi yapmadan kullanıcıdan nasıl veri alabiliriz (int tipinde) ?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
C# bilmiyorum ama anladığım kadarıyla cevaplıyorum:
javada y = tara.nextInt(); derken sen orada aslında hangi veri tipinden karakter alınacağını da belirtiyorsun. mesela string türünden bir veri alacaksan direk tara.next(); diyebilirsin ama kullanıcıdan int veri tipinden veri alacağın için tara.nextInt(); yazarsın.
C# da da büyük ihtimal consol.readline() kullancıdan int veri tipinden farklı bir tipte veri aldığından sen de onu inte çevirirsin.
Kullanıcıdan input aldığın satır Scanner objesi tanımladığın satır değil ki, nextInt() yaptığın satır. Almak istediğin verinin tipine göre fonksiyon çağırıyorsun, alınan input da otomatik cast ediliyor. İkisininde de aynı iş yani.
readInt() diye bir metod yazip icinde Convert(Console.readLine()) cagirabilirsin. Ikisi de string aliyor sonrasinda convert ediyor. Bir fark yok. C# static yapmis readLine yapmayi, Console.readLine() yapinca static cagiriyorsun. Java'da System.in stream inden okuyacagini soyleyerek construct ediyorsun.
c# biliyor olarak söylüyorum yapıyorsun işte .nextInt();
ille ben console.readline cok kullanıyorum diyorsan bir extension yaz console.ReadLine.ToInt() de veya console.ReadlineInt() de falan. Ama Java da C# de Type Safety bir dil. onda az bunda fazla diye bir şey yok ikisini bu yönden kıyaslamak çok saçma olur. Convert etmek istemyorum diyorsan zaten Ruby veya Python kullan derim.
int y = 0 ;
Scanner tara = new Scanner (System.in);
y = tara.nextInt();
diyoruz
ama c#'ta
int y = 0;
y = Convert.ToInt16(Console.ReadLine());
diyoruz
benim anlamadığım java da hiç bir convert işlemi yapmazken c#'ta neden convert işlemi yapıyoruz ?
bir de c#'ta convert işlemi yapmadan kullanıcıdan nasıl veri alabiliriz (int tipinde) ?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.