C# 使用*&引用;用c写的字符串#

C# 使用*&引用;用c写的字符串#,c#,.net,visual-studio,C#,.net,Visual Studio,我想在字符串中使用“*” 我想把这样的东西存储在字符串中 string strin="e list * "*"\r\n"; 但是VisualStudio显示这一行的错误并且不编译。 错误: 运算符“*”不能应用于“string”和“string”类型的操作数 我怎么用这个 string strin = @"e list * "" * ""\r\n"; 只需添加dbl引号 只需添加dbl引号问题不在于*,而在于“您希望在字符串中也包含这些引号。需要对它们进行转义: string strin =

我想在字符串中使用“*”

我想把这样的东西存储在字符串中

string strin="e list * "*"\r\n";
但是VisualStudio显示这一行的错误并且不编译。 错误:

运算符“*”不能应用于“string”和“string”类型的操作数

我怎么用这个

string strin = @"e list * "" * ""\r\n";
只需添加dbl引号


只需添加dbl引号

问题不在于
*
,而在于
您希望在字符串中也包含这些引号。需要对它们进行转义:

string strin = @"e list * ""*""\r\n";
注意:上面的逐字字符串文字将嵌入字符串
\r\n
,而不是windows的行尾。对于追加行尾,我建议追加

或者,如果不使用逐字字符串文字:

string strin = "e list * \"*\"" + Environment.NewLine;

如果不执行此操作,表达式
@“e list*”*“\r\n”
将被解释为字符串
“e list*”
乘以(
*
)字符串
“\r\n”
。由于
*
运算符未在字符串上定义,因此出现错误。

问题不在于
*
,而在于
您还希望在字符串中显示。他们需要逃脱:

string strin = @"e list * ""*""\r\n";
注意:上面的逐字字符串文字将嵌入字符串
\r\n
,而不是windows的行尾。对于追加行的结尾,我建议追加

或者,如果不使用逐字字符串文字:

string strin = "e list * \"*\"" + Environment.NewLine;

如果不执行此操作,表达式
@“e list*”*“\r\n”
将被解释为字符串
“e list*”
乘以(
*
)再乘以字符串
“\r\n”
。由于未在字符串上定义
*
运算符,因此出现了错误。

您的问题是试图将两个字符串相乘,这是不允许的。如果你写了这个,你会得到同样的错误

"a"*"b"
这样可能更容易看到。也许你是想写信

"e list * "+"\r\n"
作为一条更一般的建议,编译器发出了一条极好的信息:

Operator '*' cannot be applied to operands of type 'string' and 'string'

并非所有的编译器都能产生这样的有用信息,但当它们产生时,值得仔细阅读。这条消息将直接带您找到问题的根源。

您的问题是试图将两个字符串相乘,这是不允许的。如果你写了这个,你会得到同样的错误

"a"*"b"
这样可能更容易看到。也许你是想写信

"e list * "+"\r\n"
作为一条更一般的建议,编译器发出了一条极好的信息:

Operator '*' cannot be applied to operands of type 'string' and 'string'

并非所有的编译器都能产生这样的有用信息,但当它们产生时,值得仔细阅读。这条消息直接带您找到问题的根源。

您需要对字符串中的双引号进行转义,最好是这样:

string strin="e list * \"*\"\r\n";

我的假设是,您需要的是真正的回车符/换行符,而不是字面上的“\r\n”字符,这就是我去掉“@”符号的原因。

您需要对字符串中的双引号进行转义,最好是这样:

string strin="e list * \"*\"\r\n";

我的假设是您需要的是真正的回车符/换行符,而不是文本“\r\n”字符,这就是我去掉“@”符号的原因。您需要转义字符串文本中的

string strin=@"e list * ""*""\r\n";
使用
@
前缀时,可以使用另一个
对其进行转义。
否则使用
\

您需要在字符串文本中转义

string strin=@"e list * ""*""\r\n";
使用
@
前缀时,可以使用另一个
对其进行转义。
否则使用
\

问题不是*。这是因为您正在终止字符串而没有转义它

试试这个:

string strin = @"e list * ""*""\r\n";

问题不在于*。这是因为您正在终止字符串而没有转义它

试试这个:

string strin = @"e list * ""*""\r\n";

代码中有几个问题

  • 字符串前的@表示使用文字字符串而不翻译\r\n。应删除@
  • 删除@符号后,需要将斜杠放在字符串中任何引号之前

    strin=“e list*\”*\“\r\n”


  • 代码中有几个问题

  • 字符串前的@表示使用文字字符串而不翻译\r\n。应删除@
  • 删除@符号后,需要将斜杠放在字符串中任何引号之前

    strin=“e list*\”*\“\r\n”


  • 在另一个音符上,不要做一个名为strin的字符串变量…在另一个音符上,不要做一个名为strin的字符串变量…哇。。看看所有的答案。我发誓当我开始打字的时候没有哇!看看所有的答案。我发誓当我开始打字的时候没有如果
    \r\n
    是字面意思,则必须使用:
    “\\r\\n”
    进行转义如果
    \r\n
    是字面意思,则必须使用:
    “\\r\\n”