Seiteneffekte ?



  • Stellt soetwas ein Problem dar, oder kann es zu Seiteneffekten oder so kommen ? Compiler meckert nicht und funktionieren tut es auch....

    string test = "abcdef";
    
    test = test.Replace("abc" , " " );  // wäre es hier besser einen neuen String zu verwenden ?
    


  • Warum sollte es dabei zu Seiteneffekten kommen? Sofern du die Änderung wirklich auf der Originalvariable willst ist doch alles in Ordnung.

    Probleme gibt es erst, wenn du später nochmal auf den originalen String zugreifen willst und dort bereits Ersetzungen vorhanden sind.



  • Strings in C# sind sowieso immutable.
    test ist ja nur eine Referenz auf einen String.

    Das einzige Problem das ich sehe ist dass der Code durch neu-zuweisung von Variablen schlechter lesbar wird.
    Ich würde aber sagen in vielen Fällen ist es durchaus OK den Ball flach zu halten und mal eben eine Variable neu zuzuweisen.

    Für Sachen wie

    param = param.Trim().ToUpper();
    

    mach' ich z.B. auch keine extra Variable.



  • Alles klar, Danke ! 👍


Log in to reply