2017-11-06 1 views
1

ich derzeit an einem Programm arbeitet und muß die .replace() -Methode verwenden, um einen bestimmten Teilkette aus einer Zeichenfolge zu entfernen. Der Code scheint jedoch nicht zu funktionieren.Ersetzen einen bestimmten Teilstrings in einem String - .replace() -Methode nicht für mich arbeiten C#

Unten finden Sie den Code ich verwende:

if (filter.Contains("AND [Type]")) 
     { 
      String test = "AND [Type] = '" + type + "'"; 
      filter.Replace(test, ""); 
     } 
     else if (filter.Contains("Type") == true) 
     { 
      String test = "[Type] = '" + type + "'"; 
      filter.Replace(test, ""); 
     } 

ich den Code gedebuggt haben und wenn durch sie Schritt String Test genau festgelegt ist, was innerhalb des Filters enthalten ist - aber der Code nur durch Versuche läuft die Methode ersetzen, aber den Filter unverändert lassen.

Gibt es irgendeine andere Weise, die ich versuchen kann, diese Funktion zu erhalten, oder muss ich ein paar Schritte zurück nehmen müssen und kommen mit einer anderen Idee für diese Arbeit zu bekommen?

+0

Strings in C# unveränderlich sind. – Dido

Antwort

3

Sie müssen den Wert zu bestimmten Zeichenfolge zuweisen:

filter = filter.Replace(test, ""); 

Replace() eine neue Zeichenfolge zurück, mehr here

1

Sie müssen die ersetzen, um eine Variable setzen, so filter = filter.Replace(test, "");

Sein eine gemeinsame Problem mit einigen der Funktionen wie Datum Zusatz Stunden, string ersetzen ..

+1

Ich wusste, dass das so gut wie ich die Methode in einem anderen Teil meines Codes benutzt habe! Ich debuggte für Agers und bemerkte den einfachen Fehler nicht - Danke! – benjiiiii

+1

@benjiiiii wie gesagt, es ist ein weit verbreiteter Fehler .. seine leicht aus diesem Grund zu verpassen – BugFinder

Verwandte Themen