Aracılığıyla paylaş


Nasıl yapılır: bir dize sayısal bir değer (C# Programlama Kılavuzu) temsil edip etmediğini belirlemek

Bir dize belirtilen sayısal tür geçerli bir gösterimini olup olmadığını belirlemek için statik kullanmak TryParse gibi tüm temel sayısal türler ve ayrıca türleri tarafından gerçekleştirilir yöntemi DateTime ve IPAddress.Aşağıdaki örnek nasıl "108" geçerli olup olmadığını gösterir int.

  int i = 0; 
  string s = "108";
  bool result = int.TryParse(s, out i); //i now = 108

Dize sayısal olmayan karakterler içeriyor veya çok büyük veya çok küçük belirttiğiniz, belirli bir türü için sayısal bir değer TryParse false değerini döndürür ve out parametresi sıfıra ayarlar.Aksi takdirde true değerini döndürür ve out parametresi sayısal dize değerine ayarlar.

[!NOT]

Bir dize yalnızca sayısal karakterler içeriyor ve hala whose türü için geçerli değil TryParse kullandığınız yöntemi.Örneğin, "256" için geçerli bir değer değil byte için geçerlidir, ancak int. "98,6 "için geçerli bir değer değil int , ancak geçerli bir decimal.

Örnek

Aşağıdaki örnekler nasıl kullanılacağını TryParse dize halinde temsili ile long, byte, ve decimal değerler.


string numString = "1287543"; //"1287543.0" will return false for a long
long number1 = 0;
bool canConvert = long.TryParse(numString, out number1);
if (canConvert == true)
  Console.WriteLine("number1 now = {0}", number1);
else
  Console.WriteLine("numString is not a valid long");

byte number2 = 0;
numString = "255"; // A value of 256 will return false
canConvert = byte.TryParse(numString, out number2);
if (canConvert == true)
  Console.WriteLine("number2 now = {0}", number2);
else
  Console.WriteLine("numString is not a valid byte");

decimal number3 = 0;
numString = "27.3"; //"27" is also a valid decimal
canConvert = decimal.TryParse(numString, out number3);
if (canConvert == true)
  Console.WriteLine("number3 now = {0}", number3);
else
  Console.WriteLine("number3 is not a valid decimal");            

Güçlü Programlama

İlkel sayısal türleri de uygula Parse statik yöntemi dize geçerli bir sayı değilse, bir istisna atar.TryParseyalnızca sayı geçerli değilse false döndürür çünkü genellikle daha verimlidir.

Güvenlik

Her zaman TryParse veya Parse kullanıcı girişten metin kutuları ve birleşik giriş kutuları gibi denetimleri doğrulamak için yöntem.

Ayrıca bkz.

Görevler

Nasıl yapılır: bir bayt dizisi int (C# Programlama Kılavuzu) dönüştürme

Nasıl yapılır: Bir dizeyi sayıya dönüştürme (C# Programlama Kılavuzu)

Nasıl yapılır: onaltılık dize ve sayısal türler (C# Programlama Kılavuzu) arasında dönüştürme

Kavramlar

Sayısal dizeleri ayrıştırma

Diğer Kaynaklar

Biçimlendirme türleri