C#'ta bir dizenin sayı olup olmadığı nasıl kontrol edilir?
C#’ta bir dizenin sayı olup olmadığını kontrol etme adımları
- Bir tamsayı değişkeni bildirir.
int.TryParse()
veyadouble.TryParse()
yöntemlerineout
değişkeni ile dize aktarın.- Dize bir sayı ise
TryParse
yöntemi true değerini döndürür. Ve bildirilen tamsayıout
değerine değer atar.
On this page
C#’ta bir dizenin Sayı olup olmadığını kontrol edin
Örneğin bir string değişkenimiz “123” var ve bunun sayısal olup olmadığını kontrol etmek istiyorsanız aşağıdaki C# kodunu kullanın.
var stringNumber = "123";
int numericValue;
bool isNumber = int.TryParse(stringNumber, out numericValue);
//isNumber is true and numericValue=123
var stringNumber = "123P";
int numericValue;
bool isNumber = int.TryParse(stringNumber, out numericValue);
//isNumber is false and numericValue=0 default value
C# 7’den itibaren out değişkenini TryParse Metodunun kendisinde bildirebiliriz.
bool isNumber = int.TryParse(stringNumber, out int numericValue);
Yukarıdaki int.TryParse
yöntemiyle ilgili sorun, negatif dize sayısı değerlerini kontrol edememesidir.
C#’ta negatif dize sayısı kontrolü
Negatif string sayı değerlerini kontrol etmek için C# double.TryParse()
yöntemini kullanabiliriz.
var negativeString = "-123";
double number;
if(double.TryParse(negativeString,out number)){
if (number > 0){
}else{
//negative number
}
}
C#’ta dizenin sayı olup olmadığını kontrol etmenin en iyi yolu
Bir dizenin sayı olup olmadığını kontrol etmek için her zaman double.TryParse()
yöntemini kullanın, çünkü bu yöntem hem pozitif hem de negatif sayıları doğrulayabilir.