78 Stimmen

In C#: Anführungszeichen um eine Zeichenfolge in einer kommagetrennten Liste von Zeichenfolgen hinzufügen

Darauf gibt es wahrscheinlich eine einfache Antwort, aber ich habe wohl nicht genug Kaffee getrunken, um es selbst herauszufinden:

Wenn ich eine durch Komma getrennte Zeichenfolge wie:

string list = "Fred,Sam,Mike,Sarah";

Wie würde jedes Element erhalten und fügen Sie Anführungszeichen um es und stecken Sie es wieder in eine Zeichenfolge wie diese:

string newList = "'Fred','Sam','Mike','Sarah'";

Ich gehe davon aus, dass die Iteration über jeden einzelnen ein Anfang wäre, aber danach bin ich nicht mehr weitergekommen.

Eine Lösung, die hässlich ist:

int number = 0;
string newList = "";
foreach (string item in list.Split(new char[] {','}))
{
    if (number > 0)
    {
        newList = newList + "," + "'" + item + "'";
    }
    else
    {
        newList = "'" + item + "'";
    }
    number++;
}

0voto

Dheeraj Palagiri Punkte 1799

Für Leute, die wie ich auf Verlängerungsmethoden stehen, hier ist sie:

    public static string MethodA(this string[] array, string seperatedCharecter = "|")
    {
        return array.Any() ? string.Join(seperatedCharecter, array) : string.Empty;
    }

    public static string MethodB(this string[] array, string seperatedChar = "|")
    {
        return array.Any() ? MethodA(array.Select(x => $"'{x}'").ToArray(), seperatedChar) : string.Empty;
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X