Parameter zusammen überprüfen

  • VB.NET

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

    Parameter zusammen überprüfen

    Hallo zusammen,

    wenn ich eine Sub habe dem ganze viele Parameter übergeben werden, und ich will nur die die nicht leer sind zu einem string zusammenbauen, muss ich die dann wirklich alle mit je einem if überprüfen oder geht das auch iwie anders?

    Viele Grüße
    Dann übergib der Function/Sub ein ParamArray.

    Signatur könnte dann so aussehen:

    VB.NET-Quellcode

    1. Private Function XYZ(ParamArray args As String()) As String


    Hier kannst Du einfach mit For/ForEach prüfen, ob ein Eintrag "leer" ist. Alternativ geht auch LINQ oder sonst was. Auch könntest Du, wenn Du eine List(Of T) nutzt, einfach auf diesen Funktionsaufruf verzichten. Die List-Klasse bietet von sich aus Funktionen, um leere Einträge loszuwerden. Am besten ist es natürlich, leere Einträge gar nicht erst zuzulassen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Ersteinmal danke, ich glaube allerdings nicht , dass das mir weiterhilft.

    Meine Function bekommt Werte mit die zu einem VLC Netzwerkstream String zusammengebaut werden sollen.

    zb:

    VB.NET-Quellcode

    1. Public Function setSettings(byval vcodec as string, byval acodec as string) As boolean
    2. string settings = ("vcodec = " & vcodec & ", acodec = " & acodec)
    3. End Function


    so nun soll vcodec = mp4 nur geschrieben werden, wenn vcodec auch wirklich ausgefüllt ist. weisst du wie ich meine?
    Ja, weiß schon, was Du meinst. Dann leg Dir eine Klasse "Parameter" an. Gib dieser Klasse 2 Properties. 1x ParamKey, 1x ParamValue. Überschreibe .ToString() und gib nur etwas zurück, wenn ParamValue <> String.Empty.

    In eine List(Of Parameter) packst Du dann Instanzen dieser Klasse. Mit der String.Join()-Funktion verbindest Du diese Instanzen, bzw. deren ToString()-Rückgabe, zu einem neuen String.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    SpaceyX schrieb:

    ParamValue <> String.Empty.
    @Kaze91:: Dafür gibt es eine spezielle Prozedur:

    VB.NET-Quellcode

    1. If Not String.IsNullOrEmpty(ParamValue) Then
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany

    Wenn => dann: String.IsNullOrWhiteSpace

    Ein Parameter, der nur aus Leerzeichen besteht, macht wohl selten viel Sinn.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    SpaceyX schrieb:

    der nur aus Leerzeichen besteht
    Statische Code-Test-Tools (auf Arbeit) wollen das so haben, das ist bei mir inzwischen in Fleisch und Blut übergegangen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!