Eğer string boş ise ArgumentNullException takmalı mıyım?
Bir dize parametresi verilen bir şey yapan bir yöntem üzerinde çalışıyorum. Dize parametresi için geçerli bir değer birşey null veya string.Boş. Benim kod bu gibi görünüyor.
private void SomeMethod(string someArgument) { if(string.IsNullOrEmpty(someArgument)) throw new ArgumentNullException("someArgument"); // do some work }
Çok heyecan verici bir şey yok. Benim sorum ise string eşit ise bile, bir ArgumentNullException atmak için iyi oluyor.Boş? Çünkü teknik olarak boş değil. Eğer ArgumentNullException atmak olmamalı düşünüyorsanız özel durum ne olmalıdır?
CEVAP
ArgumentException String.Empty
dava için atılmış olmalıdır. Bu bir sorun, boş olmaktan başka gösteriyor. Null için NullReferenceException
ben önce bir test önlemek için, ve geçen herhangi bir boşluk önlemek için boş dava için trim kontrol edin.
private void SomeMethod(string someArgument)
{
if(someArgument == null)
throw new ArgumentNullException("someArgument");
if (someArgument.Trim() == String.Empty)
throw new ArgumentException("Input cannot be empty", "someArgument");
// do some work
}
Gibi .NET 4.0 tek seferde bu denetimleri gerçekleştirmek için String.IsNullOrWhiteSpace
yöntemi kullanabilirsiniz. Böyle yaparak size ayrıntılı durum türü belirtmek için yeteneği vazgeçmek, ArgumentException
tercih ve mesajı ona göre güncellemek istiyorum.
Eğer data: dizi öğesi 0: beklenen stri...
Python: eğer bir nesne ya da bir dizi ...
'In String Java kullanmalıyım.eğe...
Eğer string bir dizi değeri içeriyorsa...
Hızlı eğer string sadece rakam varsa k...