c#中@什么意思

来源:这里教程网 时间:2026-02-21 16:47:57 作者:

c# 中的 @ 符号

c# 中的 @ 符号是一个修饰符,用来取消转义序列的特殊含义。

作用

当 @ 符号放在字符串前面时,可以取消字符串中特殊字符(如 \n、\t 等)的转义含义。这使得字符串可以跨多行而不必使用转义序列。 当 @ 符号放在 Enum 成员前面时,可以指定它的底层值。这允许 Enum 成员具有自定义值,而不受整数限制。 当 @ 符号放在方法或属性前面时,可以指示该方法或属性是异步的。

字符串

以下是带 @ 符号和不带 @ 符号的字符串示例:

<code class="c#">// 不带 @ 符号
string s = "Hello\nWorld!";
// 带 @ 符号
string s = @"Hello
World!";</code>

在第一个示例中,\n 会生成一个换行符。但在第二个示例中,由于 @ 符号的存在,\n 会按原样输出。

Enum

以下是带 @ 符号和不带 @ 符号的 Enum 示例:

<code class="c#">// 不带 @ 符号
enum Weekdays { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
// 带 @ 符号
enum Weekdays { Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, Sunday = 7 }</code>

在第一个示例中,Weekdays 的底层值是从 0 开始的整数。但在第二个示例中,@ 符号允许为 Enum 成员指定自定义值。

异步方法和属性

以下是带 @ 符号和不带 @ 符号的异步方法和属性示例:

<code class="c#">// 不带 @ 符号
Task<int> GetNumber() { ... }
// 带 @ 符号
Task<int> GetNumberAsync() { ... }</code>

在第一个示例中,GetNumber 是一个同步方法。而在第二个示例中,@ 符号指示 GetNumberAsync 是一个异步方法。

相关推荐