Aşağıdaki neden VB.NET'te derleme yapmıyor?VN.NET'te IsNullOrEmpty nasıl kullanılır?
If String.IsNullOrEmpty(strTest) Then
Aşağıdaki neden VB.NET'te derleme yapmıyor?VN.NET'te IsNullOrEmpty nasıl kullanılır?
If String.IsNullOrEmpty(strTest) Then
IsNullOrEmpty 'paylaşılan' olduğunu.
Dim strTest As String
If (String.IsNullOrEmpty(strTest)) Then
MessageBox.Show("NULL OR EMPTY")
End if
String.IsNullOrEmpty bir (C# veya statik) paylaşılan bir yöntemdir: Eğer bu şekilde kullanmalıdır böylece
Dim strTest As String
If (strTest.IsNullOrEmpty) Then
MessageBox.Show("NULL OR EMPTY")
End if
Bunu yaptığımda, çalışma zamanında bir NullPointerException yükseltilebileceğini söylüyor. – CJ7
@ CJ7 Çünkü "strTest" değerini bir değer ayarlamadan (ki * bir hata olabilir) kullanırsınız, bu yüzden her zaman 'Hiçbir şey' değildir. Dim strTest As String = Nothing' kullanarak ör. onu açıkça 'Hiçbir şey' olarak ayarla. – sloth
@ Mr.Steak: Bu biraz garip görünüyor çünkü eğer onu bir şeye ayarlamazsam, yine de "Nothing" olacak. Neden onu açıkça 'Nothing' olarak ayarlamalıyım - hiçbir anlam ifade etmiyor! – CJ7
Aslında sadece boş bir dizeye karşılaştırabilirsiniz:
If strTest = "" Then
MessageBox.Show("NULL OR EMPTY")
End If
Eğer strTest 'hiçbir şey' değilse? 'IsNullOrEmpty' açık bir şekilde strTest’in“ hiçbir şey ”olup olmadığını kontrol eder. İfadeniz bunu kontrol etmiyor. –
Aslında, boş bir dizgeye karşı dize karşılaştırması, VB'de de hiçbir şey için true olarak dönecektir. Bana inanmıyorsan onu dene. Ya da belki de bu sizi ikna ediyor: http://stackoverflow.com/questions/2633166/nothing-string-empty-why-are-these-equal –
+1 @ThorstenDittmar, Rolf bu konuda haklı. VB.Net dize karşılaştırmaları yaparken (ve diğer yerlerde de) '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '= '' davranır. – MarkJ
derleyici diyor: 'Argüman parametresinin 'değer' 'Public Shared Function IsNullOrEmpty (As String değeri) As Boolean' için belirtilmedi .Bu yüzden tahmin edebilirsiniz çünkü bu yöntemin "değeri" parametresi için bir argüman belirtmediniz. Söylemek istediğim, (çoğu zaman) derleyicinin size kodunuzda neyin yanlış olduğunu söylemesidir. – sloth