Strings überprüfen...wenn leer dann..

  • VB.NET
  • .NET (FX) 4.0

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Drahuverar.

    Strings überprüfen...wenn leer dann..

    Hallo,

    habe eine Frage.. Da ich ziemlich faul bin frage ich zuerst einmal hier.. ;)
    Ich habe ca. 120 Strings die ich mir in einer Datei ausgeben möchte, nun könnte aber der Fall eintreten, dass eine/mehrere Variablen leer sind.
    Da ich jetzt nicht jede einzelne Zeichenkette überprüfen möchte wollte ich mal fragen ob ihr einen Tipp für mich hättet..

    Aktuelle deklaration der Variablen

    VB.NET-Quellcode

    1. ​Dim irgendwas as String = ""
    2. Dim nochetwas as String = ""
    3. Dim wiederetwasanderes as string = ""
    4. 'und noch ein paar andere Strings..


    Ich habe mich dafür entschieden die Variablen einzeln zu deklarieren um den Code übersichtlicher zu machen, ein Array / List Of wäre hier natürlich viel schöner.. allerdings wäre die spätere Zuordnung zu unübersichtlich, denke ich mal...
    Jedenfalls möchte ich die Strings die leer sind auslassen, wenn ich diese in einer Textdatei ausgebe.

    VB.NET-Quellcode

    1. If irgendwas = "" or Nothing Then
    2. Else
    3. sStringSammlung += "Wert von Irgendwas " & irgendwas 'Ist denke ich ... viel zu umständlich... und viel getippe
    4. End If


    Habt ihr eine Idee wie ich es besser machen könnte?

    Gruß,
    Drahuverar
    Option Strict On!
    Variablen einzeln deklarieren damit es übersichtlicher ist?!
    Was sind das denn bitte für Variablen?
    Ich tippe ganz stark auf ein Missdesign.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Ja würde man meinen.. Hat aber wirklich einen Grund...
    Das zu beschreiben würde auch ewig dauern. Ist auf jeden Fall so gewollt.. die Zeichenketten werden gefüllt (Datenbank).. sprich ein Statement - jede Variable enthält einen Spaltenwert.. Mir wäre es mir anders auch lieber.
    Option Strict On!
    Das ist in so vielerlei Hinsicht schlecht...
    Einmal ist zum vorhalten von Daten einer Datenbank ein Dataset da...
    Dann würde ich (wenn nicht eine Datenbank) sowas in einer List(Of String) zusammenfassen. Also mehrere Strings... Sind halt ne Liste...

    Und du merkst ja die Auswirkungen. Da soetwas ganz und gar nicht so vorgesehen ist, wie du es benutzt ist es richtig, dass VS keine Unterstützung für eine solche Vorgehensweise bietet.
    Das was du möchtest, geht nicht einfacher.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Versuchs mal mit:

    VB.NET-Quellcode

    1. if string.isnullorempty(irgendwas) then


    Dazu kommt das Strings nicht mit "+=" sondern mit "&=" verknüpft werden.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Es ist auf jeden Fall sehr schlecht.
    Ich habe bisher auch immer mit List (Of ...) gearbeitet, macht alles um einiges leichter... und wie gesagt bin ich ein sehr fauler Mensch, das sind wir denke ich alle.

    Dann muss ich wohl Fleißarbeit leisten... :S
    Echt schade.. Ich werde auf jeden Fall mit meinem Chef sprechen das die Vorgehensweise beknackt ist (wird natürlich etwas anders ausgedrückt...) und man bei Gelegenheit mal das Konzept überarbeiten sollte...

    Vielen Dank dann erstmal.. einen schönen Mittag ;) :D
    Option Strict On!
    Also was ich damit sagen wollte, wenn du die Werte nicht bündelst, kannst du auch die Bündelung nicht durchlaufen. Du musst halt jeden Wert einzeln prüfen.
    Jeden Wert kannst du natürlich mit

    VB.NET-Quellcode

    1. if NOT string.isnullorempty(Variable) then blubb

    abfrühstücken.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Mach halt nen Concat oO

    VB.NET-Quellcode

    1. Ergebnis = String.Concat(StringEins, StringZwei, StringDrei, StringVier)

    geht das net?
    Und initialisier alle Strings mit ""
    Dann sollte es ja nicht vorkommen dass einer NULL ist.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    MemoAnMichSelbst schrieb:

    Und initialisier alle Strings mit ""
    Dann sollte es ja nicht vorkommen dass einer NULL ist.

    Dann wäre er aber Empty (bzw. String.Empty) und die Abfrage würde auch auf True springen.
    ... Ich arbeite gerne mit der Blockmarkierung ^^
    Deswegen bin ich noch gar nicht concatenation gedacht^^

    Danke für die Hinweise

    Edit: Mit Excel geht das relativ flott..^^
    Option Strict On!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Drahuverar“ ()