Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C 6中,我可以在一个插值字符串中放入多个语句吗?_C#_String_String Interpolation_C# 6.0 - Fatal编程技术网

C# 在C 6中,我可以在一个插值字符串中放入多个语句吗?

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

在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 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,哈哈,谢谢。我现在明白了。