5.00 / 1 oy

C# TryParse metodu kullanımı ve örnekleri

C# programlama dilinde kullanıcıdan aldığığımız input'lar string veri tipinde olmaktadır, ancak bizim yapmamız gereken işlemler için int, double, DateTime ya da boolean gibi veri tiplerine dönüştürmeye ihtiyaç duyabilmekteyiz. Bu konuda daha önce de aşağıdaki gibi uygulamalar paylaştım, ancak kullanışlı bir metod olması açısından TryParse metodundan da bahsetmek istiyorum.

bkz: C# konsolda kullanıcıdan input almak

bkz: C# Kullanıcıdan int veri tipinde input almak

bkz: C# Kullanıcıdan double veri tipinde input almak

Peki kullanıcıdan aldığımız input 5 yerine 5a olursa ne olur bir bakalım.

Örnek 1:

System.Console.WriteLine("bir sayı yazın");
int a = int.Parse(System.Console.ReadLine());
System.Console.WriteLine(a + " sayısının karesi = " + a*a + " olur");

Çıktı 1:

bir sayi yazin
6
6 sayisinin karesi = 36 olur

Çıktı 2:

bir sayi yazin
5a

Hata: Unhandled exception. System.FormatException: Input string was not in a correct format

Program geliştirirken olası her türlü hatayı başından öngörmek ve önlem almak gerekir. try catch blokları kullanmak da bu çözümlerden birisi olabilir, ancak bu dönüşümü kontrollü olarak yapan ve string eğer ilgili veri türüne dönüştürülmeye müsait bir değere sahipse dönüştüren (dönüştüremezse de hata vermeyen) TryParse metodu da tercih edilebilir.

TryParse metodu iki parametre alan bir metoddur ve ilk parametresinde dönüştürmeye çalışacağı string veri tipindeki değeri alır. İkinci parametresinde ise dönüşümün başarılı olması durumunda kullanılacak değeri out ön eki ile parametrik olarak alır. En sonda boolean veri tipinde bir return değeri ile dönüşümün başarılı olup olmadığını bildirir. Böylece yazılımcı da dönüşümün başarılı olup olmamasına göre ilgili karar mekanizmasını kurabilir.

Örneğin:

Console.WriteLine("bir sayı yazın");
int aNum;
bool sonuc = int.TryParse(System.Console.ReadLine(), out aNum);

if (sonuc)
    System.Console.WriteLine(aNum + " kere " + aNum + " = " + aNum*aNum);
else
    System.Console.WriteLine("Lütfen girdiğiniz sayıyı kontrol edin");

Çıktı 1:

bir sayi yazin
6
6 kere 6 = 36

 

Çıktı 2:

bir sayi yazin
6a
Lütfen girdiginiz sayiyi kontrol edin

bkz: C# implicit ve explicit dönüşümler nasıl yapılır?

bkz: (C# ve Asp.NET) Sayıların Kare Kökünü Hesaplamak

bkz: C# dairenin çevresini ve alanını metod kullanarak hesaplamak

mbologlu

03.04.2021 04:16

Bu soru 1 kez yanıtlandı.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# TryParse metodu kullanımı ve örnekleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.