这就是我所知道的
str = String.Format("Her name is {0} and she's {1} years old", "Lisa", "10");
但我想要类似的东西
str = String("Her name is @name and she's @age years old");
str.addParameter(@name, "Lisa");
str.addParameter(@age, 10);
在 C# 6 中你可以使用字符串插值:
string name = "Lisa";
int age = 20;
string str = $"Her name is {name} and she's {age} years old";
As 道格·克拉特中提到的他的评论,字符串插值也支持格式字符串。可以通过在冒号后指定格式来更改格式。以下示例将输出一个带有逗号和 2 位小数的数字:
var str = $"Your account balance is {balance:N2}"
As Bas中提到的他的回答,字符串插值不支持模板字符串。实际上,它没有对此的内置支持。幸运的是,它存在于一些很棒的图书馆中。
智能格式.NET例如支持命名占位符:
Smart.Format("{Name} from {Address.City}, {Address.State}", user)
// The user object should at least be like that
public class User
{
public string Name { get; set; }
public Address Address { get; set; }
}
public class Address
{
public string City { get; set; }
public string State { get; set; }
}
它可用于NuGet并且有优秀的文档.
Mustache也是一个很好的解决方案。Bas已经很好地描述了它的优点他的回答.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)