pix*_*its 0 c# roslyn .net-core
我正在尝试在插值字符串中使用变量,但运气不佳。我该怎么做?
var name = "mike";
var desc = "hello world {name}";
var t = $"{ desc }";
Console.WriteLine(t); // PRINTS: hello world {name}
Run Code Online (Sandbox Code Playgroud)
这是我要实现的目标:
Console.WriteLine(t); // PRINTS: hello world mike
Run Code Online (Sandbox Code Playgroud)
这可能吗?
例如,假设我有一个方法:
public string FormatString(string s) {
var Now = DateTime.Now;
return $s;
}
Run Code Online (Sandbox Code Playgroud)
用法:
Console.WriteLine(FormatString("The time is {Now}"));
Run Code Online (Sandbox Code Playgroud)
你想念一个 $
var name = "mike";
var desc = $"hello world {name}"; // this needs be interpolated as well
var t = $"{desc}";
Console.WriteLine(t); // PRINTS: hello world mike
Run Code Online (Sandbox Code Playgroud)
其他资源
$特殊字符将字符串文字标识为插值字符串。插值字符串是可能包含插值表达式的字符串文字。将插值字符串解析为结果字符串时,带有插值表达式的项目将由表达式结果的字符串表示形式替换。该功能在C#6和更高版本的语言中可用。
但假设我想使用一个变量来存储带有{name}的字符串。如果变量中没有插值法,有没有办法实现?
不,您不必使用标准String.Format令牌
var tokenString = "Something {0}";
String.Format(tokenString,someVariable);
Run Code Online (Sandbox Code Playgroud)
根据指定的格式将对象的值转换为字符串,然后将它们插入另一个字符串。
如果需要将对象,变量或表达式的值插入另一个字符串,请使用String.Format。例如,您可以将十进制值插入字符串中,以单个字符串形式显示给用户:
.NET复合格式设置功能将对象列表和复合格式字符串作为输入。复合格式字符串由固定文本与索引的占位符混合而成,这些占位符称为格式项,与列表中的对象相对应。格式化操作将产生一个结果字符串,该字符串由原始固定文本与列表中对象的字符串表示混合而成。
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |