Merhaba,
VB.NET 2005'te bahsettiğin gibi IsNumeric metotu mevcut ancak C# için aynı şeyi söyleyemeyiz. Bu nedenle IsNumeric metodunu aşağıdaki şekillerde gerçekleştirebiliriz:
1. Projenize Microsoft.VisualBasic.dll referansını ekleyin ve aşağıdaki şekilde kullanın,
IsNumeric metodu VB.NET içerisinde statik olarak tanımlanmıştır, dolayısıyla aşağıdaki şekilde projenizde kullanabilirsiniz.
Kod:using System;
using Microsoft.VisualBasic;
Console.WriteLine( "IsNumeric(\"123\"): {0}",
Information.IsNumeric( "123"));
Console.WriteLine( "IsNumeric(\"abc\"): {0}",
Information.IsNumeric( "abc"));
2. RegularExpression kullanın,
aşağıdaki gibi bir kullanım da işinizi görecektir.
Kod:string strToTest = "123";
Regex reNum = new Regex(@"^\d+$");
bool isNumeric = reNum.Match(strToTest).Success;
3 Int.TryParse metodunu kullanın,
Int.TryParse() metotu Int.Parse() metotunun aksine herhangi bir istisnai durum oluşturmaz. Bunun yerine eğer parse işlemi başarılı ise sonucu bool olarak true döndürür ve sonucu out parametre olark verir. Eğer parse işlemi başarılı olmazsa sonucu false, out parametresini de 0 olarak geriye döndürür.
Kod:public bool IsNumeric(string text)
{
int result;
if (int.TryParse(text, out result))
return true;
else
return false;
}
ben şahsen 3. kullanımı tercih ediyorum genellikle ama Regular Expression kullanılarak yapılan çözüm de çok esnek ve kullanışlı bir çözüm yolu.
umarım bu bilgiler işinize yarar.