Heim >Backend-Entwicklung >C++ >Wie kann eine benannte String-Formatierung in C# erreicht werden?

Wie kann eine benannte String-Formatierung in C# erreicht werden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-02 13:29:44777Durchsuche

How Can Named String Formatting Be Achieved in C#?

Benannte Zeichenfolgenformatierung in C

Pythons Zeichenfolgenformatierungssyntax ermöglicht die Formatierung nach Namen statt nach Position, sodass Entwickler Variablennamen direkt in Formatzeichenfolgen verwenden können. In C# unterstützt das integrierte String.Format diese Funktion jedoch nicht.

Benutzerdefinierte Lösungen

Um eine benannte String-Formatierung in C# zu erreichen, können Sie Ihre eigene Methode mithilfe von Reflektion oder Vorlage implementieren Analysetechniken.

Verwenden Reflexion:

string myString = "{foo} is {bar} and {yadi} is {yada}".Inject(o);

Vorlagenparsing verwenden:

Status.Text = "{UserName} last logged in at {LastLoginDate}".FormatWith(user);

Eine verbesserte Methode:

public class FormattedString
{
    private readonly string _template;

    public FormattedString(string template)
    {
        _template = template;
    }

    public string FormatWith(object o)
    {
        var type = o.GetType();
        var props = type.GetProperties();

        return _template.Replace("{PropertyName}", prop.GetValue(o))
                        .Replace("{propertyName}", prop.GetValue(o))
                        .ToString();
    }
}

Verwendung:

var formattedString = new FormattedString("{foo} is {bar} and {yadi} is {yada}");
Console.WriteLine(formattedString.FormatWith(new { foo = "alpha", bar = "beta", yadi = "gamma", yada = "delta" }));

String-Interpolation (C# 6 und höher)

Mit der Veröffentlichung von C# 6 im Jahr 2015 wurde die String-Interpolation als integrierte Funktion eingeführt, die eine benannte String-Formatierung ermöglicht. Die Syntax ähnelt den oben besprochenen benutzerdefinierten Methoden:

$"{{some_variable}}: {{some_other_variable}}"

Das obige ist der detaillierte Inhalt vonWie kann eine benannte String-Formatierung in C# erreicht werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn