c# 中的 @ 符号取消特殊字符的转义含义,使字符串可跨多行、enum 成员可自定义底层值,还可指示方法或属性是异步的。
c# 中的 @ 符号
c# 中的 @ 符号是一个修饰符,用来取消转义序列的特殊含义。
作用
- 当 @ 符号放在字符串前面时,可以取消字符串中特殊字符(如 n、t 等)的转义含义。这使得字符串可以跨多行而不必使用转义序列。
- 当 @ 符号放在 Enum 成员前面时,可以指定它的底层值。这允许 Enum 成员具有自定义值,而不受整数限制。
- 当 @ 符号放在方法或属性前面时,可以指示该方法或属性是异步的。
字符串
以下是带 @ 符号和不带 @ 符号的字符串示例:
// 不带 @ 符号 string s = "HellonWorld!"; // 带 @ 符号 string s = @"Hello World!";
登录后复制
在第一个示例中,n 会生成一个换行符。但在第二个示例中,由于 @ 符号的存在,n 会按原样输出。
Enum
以下是带 @ 符号和不带 @ 符号的 Enum 示例:
// 不带 @ 符号 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 }
登录后复制
在第一个示例中,Weekdays 的底层值是从 0 开始的整数。但在第二个示例中,@ 符号允许为 Enum 成员指定自定义值。
异步方法和属性
以下是带 @ 符号和不带 @ 符号的异步方法和属性示例:
// 不带 @ 符号 Task<int> GetNumber() { ... } // 带 @ 符号 Task<int> GetNumberAsync() { ... }</int></int>
登录后复制
在第一个示例中,GetNumber 是一个同步方法。而在第二个示例中,@ 符号指示 GetNumberAsync 是一个异步方法。
以上就是c#中@什么意思的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:代号邱小姐,转转请注明出处:https://www.dingdanghao.com/article/462301.html