>백엔드 개발 >C++ >C#에서 명명된 문자열 형식을 어떻게 구현할 수 있나요?

C#에서 명명된 문자열 형식을 어떻게 구현할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-02 13:29:44763검색

How Can Named String Formatting Be Achieved in C#?

C의 명명된 문자열 형식 지정

Python의 문자열 형식 지정 구문을 사용하면 위치가 아닌 이름으로 형식을 지정할 수 있으므로 개발자는 형식 문자열 내에서 직접 변수 이름을 사용할 수 있습니다. 그러나 C#에서는 내장된 String.Format이 이 기능을 지원하지 않습니다.

사용자 지정 솔루션

C#에서 명명된 문자열 서식을 지정하려면 리플렉션이나 템플릿을 사용하여 고유한 메서드를 구현할 수 있습니다. 구문 분석 기술.

사용 반사:

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

템플릿 구문 분석 사용:

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

향상된 방법:

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();
    }
}

사용법:

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

문자열 보간(C# 6 이상)

2015년 C# 6이 출시되면서 문자열 보간 명명된 문자열 형식을 허용하는 내장 기능으로 도입되었습니다. 구문은 위에서 설명한 사용자 정의 방법과 유사합니다.

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

위 내용은 C#에서 명명된 문자열 형식을 어떻게 구현할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.