在 C# 代码中,字符串文字是什么?

Visually in C# code what is the string literal?

我对代码中的字符串文字到底是什么感到困惑。 在看下面的代码:"Apple"

Apple是字符串文字吗? (这对双引号不被视为字符串文字的一部分)

或者 "Apple" 是字符串文字吗? (这对双引号被认为是字符串文字的一部分)

看看这里的正式语法: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#tokens

很明显字符串字面量定义为:

string_literal
    : regular_string_literal
    | verbatim_string_literal
    ;
regular_string_literal
    : '"' regular_string_literal_character* '"'
    ;
....
verbatim_string_literal
    : '@"' verbatim_string_literal_character* '"'
    ;
....

或者简单地说,字符串文字是“String”或@“String”形式的任何标记,因此回答您的问题 - 引号是文字的一部分。