Aracılığıyla paylaş


Dizenin sayısal bir değeri temsil edip etmediğini belirleme (C# Programlama Kılavuzu)

Bir dizenin belirtilen sayısal türün geçerli bir gösterimi olup olmadığını belirlemek için, tüm ilkel sayısal türler ve ve gibi DateTimeIPAddresstürler tarafından uygulanan statik TryParse yöntemi kullanın. Aşağıdaki örnekte "108" değerinin geçerli bir int olup olmadığının nasıl belirlendiği gösterilmektedir.

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

Dize sayısal olmayan karakterler içeriyorsa veya sayısal değer belirttiğiniz belirli bir tür için çok büyük veya çok küçükse false TryParse döndürür ve out parametresini sıfır olarak ayarlar. Aksi takdirde true döndürür ve out parametresini dizenin sayısal değerine ayarlar.

Not

Dize yalnızca sayısal karakterler içerebilir ve yine de yöntemini kullandığınız tür TryParse için geçerli olmayabilir. Örneğin, "256" için byte geçerli bir değer değildir, ancak için intgeçerlidir. "98.6" için int geçerli bir değer değildir, ancak geçerli decimalbir değeridir.

Örnek

Aşağıdaki örneklerde , ve değerlerinin longdize gösterimleriyle nasıl kullanılacağı TryParse gösterilmektedir.decimalbyte


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ürler, dize geçerli bir sayı değilse özel durum oluşturan statik yöntemi de uygular Parse . TryParse genellikle daha verimlidir çünkü sayı geçerli değilse yalnızca false döndürür.

.NET Güvenliği

Metin kutuları ve birleşik giriş kutuları gibi denetimlerden kullanıcı girişini doğrulamak için her zaman veya Parse yöntemlerini kullanınTryParse.

Ayrıca bkz.