bilgisayarkorsani.com
Hoşgeldiniz Aktif Konular | Giriş | Kayıt

IsNumeric metodunun C# karşılığı nedir?
efendim Offline
#1 Gönderildi : 22 Mayıs 2009 Cuma 17:16:41(UTC)




Sıralama: Üye


Mesajlar: 9
Puanlar: 1.263
Konum: Turkey

0 Kere Teşekkür Etti.
0 Mesajına Toplam 0 Kere Teşekkür Edildi.

VB.NET'te

Microsoft.VisualBasic.Information.IsNumeric() şeklinde yer alan metotu C# ta aradım ancak bulamadım. Yardımcı olabilir misiniz acaba?

şimdiden teşekkürler
@butun Offline
#2 Gönderildi : 22 Mayıs 2009 Cuma 17:30:59(UTC)




Sıralama: Yönetici

Madalyalar:
Anahtar Kişi: Forumda anahtar rol oynayan kullanıcılara verilirAltın Madalya: Forumda üstün hizmetleri olan kullanıcılara verilirKod Erişimi: Forum kodlarına doğrudan erişimi bulunan kullanıcılara verilirVeritabanı Erişimi: Forum veri tabanına doğrudan erişimi olan kullanıcılara verilirSistemin Efendisi: Sisteminin tamamına hükmeden kullanıcılara verilir

Mesajlar: 455
Puanlar: 8.486
Konum: Istanbul

6 Kere Teşekkür Etti.
3 Mesajına Toplam 4 Kere Teşekkür Edildi.

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.
@butun Offline
#3 Gönderildi : 22 Mayıs 2009 Cuma 17:35:18(UTC)




Sıralama: Yönetici

Madalyalar:
Anahtar Kişi: Forumda anahtar rol oynayan kullanıcılara verilirAltın Madalya: Forumda üstün hizmetleri olan kullanıcılara verilirKod Erişimi: Forum kodlarına doğrudan erişimi bulunan kullanıcılara verilirVeritabanı Erişimi: Forum veri tabanına doğrudan erişimi olan kullanıcılara verilirSistemin Efendisi: Sisteminin tamamına hükmeden kullanıcılara verilir

Mesajlar: 455
Puanlar: 8.486
Konum: Istanbul

6 Kere Teşekkür Etti.
3 Mesajına Toplam 4 Kere Teşekkür Edildi.

Ha unutmadan bir de Char.IsNumber() metodu var bu da bir çözüm olabilir.

tek tek bir string'e ait karakterleri enumerate edip, herbir karakterin numerik olup olmadığını kontrol eder ve herhengi bir karakterin numerik olmadığını anladığın anda geriye false dönderirsin. aksi halde sonuç true olarak döner default olarak. Şöyle ki,

Kod:
        public bool IsNumeric(string text)
        {
            foreach (char c in text)
            {
                if (!Char.IsNumber(c))
                    return false;
            }

            return true;
        }
efendim Offline
#4 Gönderildi : 22 Mayıs 2009 Cuma 17:37:02(UTC)




Sıralama: Üye


Mesajlar: 9
Puanlar: 1.263
Konum: Turkey

0 Kere Teşekkür Etti.
0 Mesajına Toplam 0 Kere Teşekkür Edildi.

çok teşekkürler, süpersiniz!
Bu konudaki kullanıcılar
Ziyaretçi
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.

YAFPro Theme Created by Jaben Cargman (Tiny Gecko)
Hazırlayan: YAF | abbSolutions Inc. © 2009-2010, Ahmet BÜTÜN