What do dollar symbols in C# Code mean?

后端 未结 2 625
予麋鹿
予麋鹿 2020-12-21 00:05

Today, I pull the code from my client, and I get an error in this line.

throw new Exception($\"One or more errors occurred during removal of the company:{Env         


        
相关标签:
2条回答
  • 2020-12-21 00:36

    This is the new string interpolation introduced in C# 6

    0 讨论(0)
  • 2020-12-21 00:38

    The $ part tells the compiler that you want an interpolated string.

    Interpolated strings are one of the new features of C# 6.0. They allow you to substitute placeholders in a string literal with their corresponding values.

    You can put almost any expression between a pair of braces ({}) inside an interpolated string and that expression will be substituted with the ToString representation of that expression's result.

    When the compiler encounters an interpolated string, it immediately converts it into a call to the String.Format function. It is because of this that your first listing is essentially the same as writing:

    throw new Exception(string.Format(
        "One or more errors occured during removal of the company:{0}{1}{2}", 
        Envrionment.NewLine, 
        Environment.NewLine, 
        exc.Message));
    

    As you can see, interpolated strings allow you to express the same thing in a much more succinct manner and in a way that is easier to get correct.

    0 讨论(0)
提交回复
热议问题