C#Console Değişkenin Türünü Öğrenme
-
c# console da rastgele 3 tane veri girmek istiyorum. ama ben degıskenı ne gırersem gırıyım o bana degiskenin turunu vermeli.
Char mı girdim char diyecek , integer mı girdim int diyecek, string mi girdim yanında string yazacak.
ekran cıktısı şöyle birsey olması lazım:
Bir değişken giriniz: ahmet => string türü bir degisken girdiniz.
veya
Bir değişken giriniz: a => char türü bir degisken girdiniz.
veya
Bir değişken giriniz: 5 => int türü bir degisken girdiniz.
sanırım gettype denilen bir metotla yapılıyormus ancak yapamadım yardım edebılecek birisi cıkarsa cok makbule gecer.
-
The System.Object class (which every class derives from) offers a .GetType() method
-
get type yapamazsin diye biliyorum bunun icin string olarak alip sadece numarik mi diye kontrol edersin eger sadece numarik ise bunu int(8-16-32-64 ?) decimal float long olarak kendin tanimlarsin ki bunlardan hangisinin oldugunada senin karar vermen lazim.
Cunku dielim ki 5 girdin. bu char 5 de olur. string 5 de olur int 5 de olur float 5 de olur decimal 5 de olur olurda olur.
-
@rakkoc hocam şöyle yapsak o zaman;
Bir değişken giriniz: 'buraya string bir değişken gelecek'=> bu kısım sadece string türünü bulacak
veya
Bir değişken giriniz: 'buraya char bir değişken gelecek' => bu kısım sadece char türünü bulacak
veya
Bir değişken giriniz: 'buraya integer bir değişken gelecek' => bu kısım sadece int türünü bulacak
-
int Test = 0;
if (int.TryParse("girilenDeger", out Test))
{
Console.WriteLine("This is INT");
}
else
{
Console.WriteLine("This is no INT");
}
sira ile once char mi sonra int mi diye kontrol edersin. zaten 2 side degilse stringdir.
undefined-01 tarafından 08/Oca/14 13:30 tarihinde düzenlenmiştir -
şuan mac deyim ama şöyle bi şey deneyebilir misin (framework 3.0 ya da üstü versiyon kullanman lazım)
var ile gelen veriyi okutup ondan sonra türünü alsan..
var girdi = Console.ReadLine(); if(girdi.GetType() == typeof(int)) Console.WriteLine("integer"); else if (girdi.GetType() == typeof(char)) Console.WriteLine("char"); else Console.WriteLine("string");char ın çalışacağını sanmıyorum ama int kısmında sıknıtı yok ise eğer o zaman char ı bulabilirsin, onu da int kontrolü yaptıktan sonra else satırında, girdi nin lenght ine bakacaksın, 1 ise char değil ise (1 den büyükse) string dersin
-
unbalanced bunu yazdı
şuan mac deyim ama şöyle bi şey deneyebilir misin (framework 3.0 ya da üstü versiyon kullanman lazım)
var ile gelen veriyi okutup ondan sonra türünü alsan..
var girdi = Console.ReadLine(); if(girdi.GetType() == typeof(int)) Console.WriteLine("integer"); else if (girdi.GetType() == typeof(char)) Console.WriteLine("char"); else Console.WriteLine("string");char ın çalışacağını sanmıyorum ama int kısmında sıknıtı yok ise eğer o zaman char ı bulabilirsin, onu da int kontrolü yaptıktan sonra else satırında, girdi nin lenght ine bakacaksın, 1 ise char değil ise (1 den büyükse) string dersin
var kelimesi ilk atama sırasında ne aldıysa onun tipine göre değeri tutar, ReadLine() methodunun geri dönüş tipi string olduğundan girilen değer ne olursa olsun stringi tutacaktır.
-
if(int.TryParse( s, out x) ) ....
if(DateTime.TryParse( s, out y) ) ....şeklinde denetemekten başka şansın yok
