Javascript zu C#

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von MarvinKleinMusic.

    Javascript zu C#

    Hallo Zusammen,

    ich habe folgenden Javascript Inhalt:
    ((b=l>>>(c-=8)&255)||d<h-2)&&(e+=f(b));

    Diesen möchte ich nun in C# Darstellen.

    Nun ist das Problem, dass ich nicht weiß wie die Null füllende Rechtsverschiebung in Javascript einen Bool zurückliefert, sodass ich mir ein sauberes If bilden kann.
    Hier ist mal mein Ansatz:

    C#-Quellcode

    1. b = (int)((uint)l >> (c -= 8) & 255);
    2. if(b || d< h -2)
    3. charPool += (char)(b);


    Hat vielleicht Jemand von euch eine Idee?

    EDIT: charPool += (char)(b); stellt hier das Equivalent zu &&(e+=f(b)); dar
    LG
    Also ich bin auf das Ergebnis gekommen:

    C#-Quellcode

    1. c -= 8;
    2. b = l >> c & 255;
    3. if (!(b != 0 || d < h - 2))
    4. {
    5. e += f(b);
    6. }

    Wenn du in JavaScript eine Zahl in ein If steckst, wird auf Ungleichheit zu 0 geprüft (und vermutlich ein paar corner cases mit NaN, +Infinity, etc.).
    Ob die Konvertierungen in Zeile 1 deines Codes benötigt werden, kann ich aber nicht beurteilen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Vielen Dank! Das war der goldene Hinweis. Ob die Konvertierung notwendig ist, kann ich aber auch nicht genau sagen. Im Internet stand, dass das das Equivalent zu >>> ist.

    Ich habe es mal testweise durchlaufen lassen, doch es kam zu keinem Unterschied. Ich prüfe das mal durch mit mehreren URLs.

    LG Marvin