5 Fel sätt att kontrollera tomma strängar
Det är en av de vanligt misstag att man jämför en sträng med "" eller String.Empty i VB.Net eller C # för att hitta sin tomt. Här är några exempel.
/ / C # Fel sätt
- om (s == "")
- om (s == string.Empty)
- om (s.Equals ( ""))
- om (s.Equals (String.Empty)
- om (string.Equals (s, "")
- om (string.Equals (s, String.Empty))
Så vad är det korrekta sättet att göra det? Sök efter längd också.
/ / [C #] korrekt sätt
om (s.Length == 0)
Detta är fortsättningen på vårt senaste inlägget på Sök efter längd också när du söker efter null strängar i VB.Net och C #
Läs nedan för rätt strategi.

Skrivet den 6 april 2008 Ashish Mohta , A Tech bloggare som skriver om att lösa dagliga problem för människor som använder datorn. Han skriver om hur du använder program som Office, PC-tips, Online-verktyg, webbläsare och mycket mer. Alla tjänster genom Ashish Mohta | Anslut med mig @ Twitter | Linkedin | Facebook | Snava | Behöver du mer hjälp? Fråga dina frågor på vår Support Center





































Free Email Subscription


Om man tittar på demonteringen av string.IsNullOrEmpty kommer du att se vad den gör.
. metod offentliga hidebysig statisk bool IsNullOrEmpty (string "värde") CIL förvaltas
(
. maxstack 8
L_0000: ldarg.0
L_0001: brfalse.s L_000d
L_0003: ldarg.0
L_0004: callvirt exempel int32 System.String:: get_Length ()
L_0009: ldc.i4.0
L_000a: CEQ
L_000c: ret
L_000d: ldc.i4.1
L_000e: ret
)
Detta innebär att (C #):
offentliga statisk bool IsNullOrEmpty (strängvärde)
(
if (value! = null)
(
avkastning (value.Length == 0);
)
return true;
)
Nu när du kan utföra denna operation på egen hand, hela poängen med. NET Framework är det faktum att detta sköts kod. Om av någon anledning Microsoft beslutar att ändra tillämpningen av strängen klass så att det inte finns ett annat fall där det är tomt, det skulle ändra dess genomförande här. Och du skulle aldrig behöver oroa dig för din kod bryta på grund av en underliggande förändring.
Så, kort sagt, använda string.IsNullOrEmpty ().