Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Pemformatan Rentetan Dinamakan Boleh Dicapai dalam C#?

Bagaimanakah Pemformatan Rentetan Dinamakan Boleh Dicapai dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-02 13:29:44
asal
852 orang telah melayarinya

How Can Named String Formatting Be Achieved in C#?

Pemformatan Rentetan Dinamakan dalam C

Sintaks pemformatan rentetan Python membenarkan pemformatan mengikut nama dan bukannya kedudukan, membolehkan pembangun menggunakan nama pembolehubah terus dalam rentetan format. Dalam C#, walau bagaimanapun, String.Format terbina dalam tidak menyokong ciri ini.

Penyelesaian Tersuai

Untuk mencapai pemformatan rentetan bernama dalam C#, anda boleh melaksanakan kaedah anda sendiri menggunakan refleksi atau templat teknik menghurai.

Menggunakan Refleksi:

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

Menggunakan Penghuraian Templat:

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

Kaedah Yang Diperbaiki:

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();
    }
}
Salin selepas log masuk

Penggunaan:

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

Interpolasi Rentetan (C# 6 dan lebih baru)

Dengan keluaran C# 6 pada 2015, interpolasi rentetan diperkenalkan sebagai ciri terbina dalam yang membenarkan pemformatan rentetan dinamakan. Sintaks menyerupai kaedah tersuai yang dibincangkan di atas:

$"{{some_variable}}: {{some_other_variable}}"
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Pemformatan Rentetan Dinamakan Boleh Dicapai dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan