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" }));
2015년 C# 6이 출시되면서 문자열 보간 명명된 문자열 형식을 허용하는 내장 기능으로 도입되었습니다. 구문은 위에서 설명한 사용자 정의 방법과 유사합니다.
$"{{some_variable}}: {{some_other_variable}}"
위 내용은 C#에서 명명된 문자열 형식을 어떻게 구현할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!