Hemma » Dot Net

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

  1. om (s == "")
  2. om (s == string.Empty)
  3. om (s.Equals ( ""))
  4. om (s.Equals (String.Empty)
  5. om (string.Equals (s, "")
  6. 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.

  • Ryan Heaney , 27 mars 2008:

    Jag håller med Shahar. string.IsNullOrEmpty är det bästa, förvaltas sätt att testa. Det är statiska och garanterat inte att kasta en NullReferenceException. Du kan inte säga det om. Längd.

    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 ().

Tags: ,

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिन्दी अनुवाद करने के लिए/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian
SMS-prenumereraPrint This Post

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



Lämna ditt svar!

Vara trevligt. Håller den ren. Vistelse på ämne. Ingen spam.

Du kan använda dessa taggar:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>