C# 在C 6中,我可以在一个插值字符串中放入多个语句吗?
在Ruby中,我可以在一个插值字符串中放入多个语句,例如C# 在C 6中,我可以在一个插值字符串中放入多个语句吗?,c#,string,string-interpolation,c#-6.0,C#,String,String Interpolation,C# 6.0,在Ruby中,我可以在一个插值字符串中放入多个语句,例如 puts "#{a = 1; b = 2; a + b;}" 或者我可以将它们放在多行中,如下所示: puts "#{a = 1; b = 2; a + b;}" 我可以在C6中做同样的事情吗?我试过了,但失败了。下面是我的C代码 Console.WriteLine($@"haha {int a = 1; int b = 2; a+b;} heihei"); 当我尝试运行C程序时,我得到: CS1525 Invalid expr
puts "#{a = 1; b = 2; a + b;}"
或者我可以将它们放在多行中,如下所示:
puts "#{a = 1;
b = 2;
a + b;}"
我可以在C6中做同样的事情吗?我试过了,但失败了。下面是我的C代码
Console.WriteLine($@"haha
{int a = 1;
int b = 2;
a+b;}
heihei");
当我尝试运行C程序时,我得到:
CS1525 Invalid expression term 'int'
CS1073 Unexpected token 'a'
我希望有人能帮忙。字符串插值语句中不能包含完整的代码块。您只能在内部进行评估 因此,这项工作将变量拉到了外部:
int a = 1;
int b = 2;
Console.WriteLine($@"haha
{a+b}
heihei");
这也仅限于评估:
Console.WriteLine($@"haha
{1+2}
heihei");
字符串插值语句中不能有完整的代码块。您只能在内部进行评估 因此,这项工作将变量拉到了外部:
int a = 1;
int b = 2;
Console.WriteLine($@"haha
{a+b}
heihei");
这也仅限于评估:
Console.WriteLine($@"haha
{1+2}
heihei");
Ruby与C不同,在您的例子中,您在字符串插值中编写完整的代码,所以它不起作用
Console.WriteLine($"Name = {name}, hours = {hours:hh}")
或
对于Ref:Ruby与C不同,在您的例子中,您在字符串插值中编写完整的代码,因此它不起作用
Console.WriteLine($"Name = {name}, hours = {hours:hh}")
或
参考资料:你同时问了两个不同的问题……我不确定我是否明白你的意思。但我认为您可以简单地使用@Like this:Console.WriteLine$@haha{inta=1;intb=2;a+b;}heihei@我觉得Arnon很像。第二个是什么?@rob1。多个语句-不可能。2.多行-可能。@i3arnon,哈哈,谢谢。我现在明白了。你同时问了两个不同的问题……我不确定我是否明白你的意思。但我认为您可以简单地使用@Like this:Console.WriteLine$@haha{inta=1;intb=2;a+b;}heihei@我觉得Arnon很像。第二个是什么?@rob1。多个语句-不可能。2.多行-可能。@i3arnon,哈哈,谢谢。我现在明白了。