wie man das letzte Komma aus der Abfrage C # entfernt

8

Ich mache etwas wie folgt ..

%Vor%

am letzten insdie schließende Klammer bekomme ich ein Komma. Wie man das entfernt.

    
Rocky 02.08.2012, 05:50
quelle

11 Antworten

18

Verwenden Sie TrimEnd(','); , um das letzte Komma aus der Zeichenfolge zu entfernen. string.TrimEnd

Nach der foreach-Schleife:

%Vor%

Anstatt die Zeichenfolge zu verketten, können Sie die Klasse StringBuilder verwenden.

    
Habib 02.08.2012, 05:51
quelle
6

Erstens würde ich versuchen, die Werte selbst nicht direkt einzubeziehen. Verwenden Sie Parameter wo möglich - es ist weniger einfach für IN(x, y, z) style-Parameter, aber Sie können entweder einen Tabellenwertparameter verwenden oder einfach die Parameterliste dynamisch erstellen (z. B. in IN(@p0, @p1, @p2) )

Zweitens würde ich die Verwendung von String-Verkettungen in einer Schleife vermeiden - benutze StringBuilder , wenn du wirklich eine Schleife machen musst.

Drittens würde ich string.Join verwenden, um zu vermeiden, dass man überhaupt eine Schleife machen muss:

%Vor%     
Jon Skeet 02.08.2012 06:01
quelle
5

Anstelle der foreach-Schleife können Sie die string.Join-Methode verwenden. Sehen Sie sich das

an     
Tomtom 02.08.2012 05:57
quelle
2

Sie können String.Join(",", item); verwenden Das bedeutet, dass es kein hässliches Trimmen oder Spalten gibt, das Sie tun müssen.

    
Pieter Germishuys 02.08.2012 06:00
quelle
1

Ich würde String.Join verwenden:

%Vor%

Ich würde auch in die Verwendung von Parametern schauen, anstatt SQL mit starker Verkettung zu konstruieren - String-Verkettungen sind anfällig für SQL-Injection-Angriffe und Parameter sind einfach zu verwenden.

Wie Sie zu Parametern wechseln würden, hängt davon ab, wie Sie auf die Datenbank zugreifen und welche Datenbank-Engine, aber eine schnelle Google-Suche sollte helfen.

    
TheEvilPenguin 02.08.2012 05:59
quelle
0
%Vor%     
james31rock 02.08.2012 05:53
quelle
0

Versuchen Sie es mit String.Trim :

  

Entfernt alle führenden und nachfolgenden Leerzeichen aus dem aktuellen String-Objekt.

%Vor%     
Ria 02.08.2012 05:54
quelle
0

Sie können die Methode LINQ Aggregate and string.Format verwenden:

%Vor%     
Uriil 02.08.2012 06:02
quelle
0

Beispiel mit StringBuilder :

%Vor%     
user854301 02.08.2012 06:06
quelle
0

Vor allem, wenn Sie die Zeichenfolge zu oft verbinden, verlieren Sie die Performance, da jedes Mal, wenn Sie eine Operation für String var ausführen, die Zuweisung der gesamten Zeichenfolge im Speicher rückgängig gemacht wird. Sie sollten StringBuilder in solchen Situationen verwenden.

%Vor%     
Umesh 02.08.2012 06:28
quelle
0

Versuchen Sie, Replace() :

zu verwenden %Vor%     
Jaiden 02.08.2012 05:58
quelle

Tags und Links