因此,我刚刚在the comments section中与用户进行了以下对话。

我:

Year year = new Year{ State = States.Happy };

他们:
eventStream.ReceiveJoke += joke =>
    Console.WriteLine($"Pretty nice joke: {joke}, Thanks!!!");

而且,像我一样讨厌,我想知道他的意思是美元符号,但是我觉得问他太尴尬了。

最佳答案

这是C#6中引入的内插字符串文字。

它大致相当于:

eventStream.ReceiveJoke += joke =>
    Console.WriteLine(string.Format("Pretty nice joke: {0}, Thanks!!!", joke));

编译器会在$引入的任何字符串文字中查找括号,然后对其应用字符串格式。您可以使用(大多数)任意表达式,而不仅仅是变量,例如
Console.WriteLine($"{year.State} {2000 + 16}"); // Happy 2016

09-20 19:37