TryParse
ve Regex.IsMatch
kullanılır. Regex.IsMatch
, söz konusu dizenin belirli bir desenle eşleşip eşleşmediğini size söyler. Evet/hayır cevabı verir. TryParse
aslında mümkün olduğunda değeri dönüştürür ve başarılı olup olmadığını söyler. Eğer düzenli ifadeyi işçiliği çok dikkatli olmadıkça TryParse
false
dönecektir true
zaman
, Regex.IsMatch
dönebilirsiniz. Örneğin, byte
'u ayrıştırma işleminin basit durumunu düşünün. TryParse
ile vardır: myString
değeri 0 ile 255 arasında olduğunu
byte b;
bool isGood = byte.TryParse(myString, out b);
ise TryParse
true
dönecektir.
Şimdi, Regex.IsMatch
ile deneyelim. Bakalım, bu normal ifade ne olmalı? @"\d+"
veya hatta @\d{1,3}"
bile diyemeyiz. Biçimi belirtmek çok zor bir iş haline gelir. Önde gelen ve devam eden beyaz alanı takip eden 0'ları işlemek zorundasınız ve 255
'a izin vermeli, ancak 256
'a izin vermemelisiniz.
Ve bu sadece 3 basamaklı bir sayı ayrıştırmak içindir. Kurallar, bir int
veya long
'u ayrıştırırken daha da karmaşıklaşır.
Düzenli ifadeler, formunun formunu belirlemek için idealdir. değerini belirlerken emerler. Standart veri türlerimizin tümü sınırlara sahip olduğundan, değerinin belirlenmesi, sayının geçerli olup olmadığının belirlenmesinin bir parçasıdır.
TryParse
'u kullanarak mümkün olan her durumda, yalnızca doğrulama işlemini gerçekleştirecek güvenilir bir düzenli ifade oluşturmaya çalışırken kendinizi baş ağrısından kurtarmanız daha iyi olur. Yerel türlerden herhangi biri için belirli bir TryParse
'un eşdeğer düzenli ifadeden daha hızlı yürütülmesi olasıdır.
Yukarıda da belirtildiği gibi, muhtemelen bu yanıt üzerinde daha fazla zaman harcadım. Web sayfanız, tüm yaşam boyunca TryParse
veya Regex.IsMatch
- işlemlerinizi yürütmek için harcayacaktır.Bu şeyleri yürütme zamanı, Web sitenizin gerçekleştirdiği diğer her şey bağlamında o kadar küçüktür ki, herhangi bir zaman harcadığınız zaman, problemin boşa harcanmasına neden olur.
TryParse
'u kullanabilirsiniz, çünkü daha kolay. Aksi halde Regex
kullanın.
Gerçekten önemsiyor musunuz? Asp.net'in diğer her şeyle karşılaştırıldığında, performansın etkisi açısından iki yaklaşımdan herhangi biri önemsiz görünmektedir. – mmix
(Ajax Control Toolik) [http://ajaxcontroltoolkit.codeplex.com/] kullanın ve mutlu olun. –
Bakıma en uygun/en kolay olanı kullanın. Performans bu durumda bir sorun değil :) –