Kullanıcı girişini kabul etme
Tip
Daha fazla ayrıntı için Metin ve resimler sekmesine bakın!
Programlar, onları kullanan kişilerle etkileşime geçince gerçekten güçlü hale gelir. C#'nin Console.ReadLine() yöntemi programınızı duraklatmanıza, kullanıcının bir şey yazmasını beklemenize ve bu bilgileri yakalamanıza olanak tanır.
Console.ReadLine() Kullanımı
Console.ReadLine() Yöntemini bir soru istemi olarak düşünün. Programınız bu satıra ulaştığında, kullanıcı yanıtını alana kadar bekler ve devam etmeden önce Enter tuşuna basar.
Kullanıcının yanıtını kaydetmek için bir değişken kullanarak "yakalamanız" gerekir:
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");
Bu kodda bir favoriteColor değişkendir (değeri tutan bir kapsayıcı). Bu programı çalıştırdığınızda giriş bekler. Kullanıcı Orange yazıp Enter tuşuna basarsa çıktı şöyle olur:
Orange
Oh, I love Orange too!
Bu kodu C# Kod Düzenleyicisi'nde kendiniz çalıştırmayı deneyebilirsiniz.
İsteminizin sonuna boşluk ekleme
Kullanıcı girişini daha okunabilir hale getirmek için Console.Write() ile Console.ReadLine() birleştirin:
Console.Write("What is your favorite color? ");
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");
isteminin sonundaki alana dikkat edin: "What is your favorite color? ". Bu olmazsa, kullanıcının girdisi metninize bitişik görünürdü: What is your favorite color?Orange. Alan eklemek daha net hale getirir.
Veri türlerini anlama
C# içindeki her değerin, bilgisayara ne tür bir değer olduğunu söyleyen bir veri türü vardır. Bazı yaygın veri türleri şunlardır:
-
Dize (
string): Örneğin"Blue"veya"25"gibi, tırnak içine alınmış metin. Bir sayı bile tırnak içinde olduğunda metne dönüşür. -
Tamsayı (
int): Tırnak işaretleri olmadan yazılan bir tam sayı; örneğin25veya100gibi. Bunlarla matematik yapabilirsiniz.
Bu neden önemlidir? C# bu türlere farklı davranır. Sayıları birlikte (25 + 1 eşittir 26) ekleyebilirsiniz, ancak özel işleme olmadan doğrudan metne sayı ekleyemezsiniz.
Console.ReadLine() her zaman bir dize döndürür
Unutmamanız gereken temel bir kural, kullanıcı bir sayı yazarsa bile her zaman metin (dize) döndürmesidirConsole.ReadLine(). Örneğin:
string age = Console.ReadLine();
Console.WriteLine(age + 1); // This causes an error!
Bu kodu çalıştırıp 25 yazarsanız, program 26 yazdırmaz. Bunun yerine, "25" öğesini 1 metnine eklemeye çalışır; ancak C# buna izin vermez. Bu yaygın bir başlangıç hatasıdır!
Kullanıcı girişiyle matematik işlemi yapmak için önce metni sayıya dönüştürmeniz gerekir, ancak bunu daha sonra ele alacağız. Şimdilik şunu unutmayın: kullanıcının yazdığı her şey her zaman metin olarak değerlendirilir.