是否可以使用您想要插入的字符串格式的变量.
public class Setting
{
public string Format { get; set; }
}
var setting = new Setting { Format = "The car is {colour}" };
var colour = "black";
var output = $"{setting.Format}";
Run Code Online (Sandbox Code Playgroud)
预期产出
"汽车是黑色的".
以下是 Angular 项目服务的代码:
@Injectable()
export class FetchDataService {
fetch(link){
console.log('this is a ${link}');
}
}
Run Code Online (Sandbox Code Playgroud)
我在传递字符串作为参数的组件中调用此方法。
控制台输出:链接是 ${link}
我正在尝试使用 Angular、Typescript、HTML 等在代码中进行字符串插值......出于某种原因,“美元符号”在输出中显示为字符串文字。任何人都可以帮忙吗?
我需要输出如下:
“你好,世界。”
相反,我得到了这个:
“你好 ${name}。”
链接:https : //stackblitz.com/edit/angular-template-string-interpolation
谢谢。
我在C#6.0中有2个代码:
样本1:
var foo = "Some text, " +
$"some other {bar}, " +
"end text.";
Run Code Online (Sandbox Code Playgroud)
样本2:
var foo = $"Some text, " +
$"some other {bar}, " +
$"end text.";
Run Code Online (Sandbox Code Playgroud)
显然两个代码都会产生相同的结果,但第二个代码在美学上更加美观(这是我的意见,请记住每个代码都有你的).
问题:
如果不需要$,是否有问题(性能或其他)写一个前缀为$的字符串.
编辑: 回答一些投诉:
第二个是可怕的.不要对未插值的字符串使用字符串插值符号($).任何看过代码的人(或未来,更有经验的人)都会感到困惑
这完全是您的看法,我在这里有一个团队,有10位高级C#开发人员,都同意第二个更清晰.
@ChetanRanpariya这不是真的.插值字符串是用于调用string.Format的语法糖,必须调用它(从而影响性能).
你需要提供证明你在说什么.