首页 > 编程语言 >C#中的@符号

C#中的@符号

时间:2022-10-12 23:32:01浏览次数:44  
标签:string 符号 C# static 字符串 标识符

C#
中的
@
符号

C#
中的
@
符号其实有很多的用法,我们来看看
@
有什么神奇之处。

1.
限定字符串



@
符号加在字符串前面表示其中的转义字符



被处理。

如果我们写一个文件的路径,例如
"D:/
文本文件
"
路径下的
text.txt
文件,不加
@
符号的话写法如
下:


string
fileName = "D://
文本文件
//text.txt";


如果使用
@
符号就会比较简单:

string
fileName = @"D:/
文本文件
/text.txt";


2.
让字符串跨行

有时候一个字符串写在一行中会很长
(
比如
SQL
语句
)
,不使用
@
符号,一种写法是这样的:


string
strSQL = "SELECT * FROM HumanResources.Employee AS e"

+ " INNER JOIN Person.Contact AS c"

+ " ON e.ContactID = c.ContactID"

+ " ORDER BY c.LastName";


加上
@
符号后就可以直接换行了:

string
strSQL = @"SELECT * FROM HumanResources.Employee AS e
INNER JOIN Person.Contact AS c
ON e.ContactID = c.ContactID
ORDER BY c.LastName";


3.
在标识符中的用法

C#
是不允许关键字作为标识符
(
类名、变量名、方法名、表空间名等
)
使用的,但如果加上
@
之后
就可以了,例如:





namespace
@namespace
{

class
@class
{

public

static

void
@static(
int
@int)

{

if
(@int > 0)
{
System.Console.WriteLine("Positive Integer");
}


else

if
(@int == 0)
{
System.Console.WriteLine("Zero");
}


else

{
System.Console.WriteLine("Negative Integer");
}

}

}

}


C#
中的
@
符号的使用及注意事项

编程中很多细节问题我们都要十分的注意,要不一个小小的字母错误就能引起程序的无法运行,我自己就
经历过这样的事情,对于编程中应该注意的问题,我们要经常的收集整理自己的一本手册,今天我们来讲

C#
中的
@
符号的使用及注意事项。





字符串中的用法



字符
@
表示,其后的字符串是个

逐字字符串
”(verbatim string)




@
只能对字符串常量作用。



1.
用于文件路径

以下是引用片段:






string s_FilePath ="C:\\Program Files\\Microsoft.NET\\test.txt";


相当于


以下是引用片段:



string s_FilePath =@"C:\Program Files\Microsoft.NET\test.txt";


2.

@
表示的字符串能够跨越数行。用于在
CS
中写
JS

SQL
代码比较方便。


以下是引用片段:



string s_MultiRows = @"Line1



Line2



Line3";



string s_JavaScript = @"



";




标识符中的用法





C#
规范中
, @
可以作为标识符
(
类名、变量名、方法名等
)
的第一个字符,以允许
C#
中保留关键
字作为自己定义的标识符。






以下是引用片段:



class @class



{



public static void @static(bool @bool) {



if (@bool)



System.Console.WriteLine("true");



else



System.Console.WriteLine("false");



}



}



class Class1



{



static void M() {



clu0061ss.stu0061tic(true);



}



}


注意,
@
虽然出现在标识符中,但不作为标识符本身的一部分。



因此,
以上示例,
定义了一个名为

class
的类,并包含一个名为

static
的方法,
以及一个参数名为了

bool
的形参。

龙腾一族至尊龙骑

标签:string,符号,C#,static,字符串,标识符
From: https://blog.51cto.com/u_15693505/5751887

相关文章

  • C#中的泛型详解
    泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性。泛型为.NET框架引入了类型参数(typeparameters)的概念。类型参数使得设计类和方法时,不必确定一个或多个具体参数,其......
  • Linux中/etc/passwd配置文件解析
    /etc/passwd文件中的内容如下:文件内容非常规律,每行记录对应一个用户。每行用户信息都以":"作为分隔符,划分为7个字段。各个字段含义如下:用户名:方便用户记忆的代号(如r......
  • Linux apache的常见配置(2)功能模块管理
    说明:apache是一个模块化的软件,很多功能由一个个模块来提供的。动态加载模块:DSO(DynamicSharedObject)DynamicSharedObject,动态共享对象,加载动态模块配置,不需重启即......
  • 【施工中】2020 ICPC 上海(TeamVP)
    D-Walker小评赛后补题。赛时很容易的想到了二分,但是尴尬的点在于我们想的是对时间进行二分,然后分类讨论两个人的位置关系,这就导致代码很长,而且一直存在错误没有找......
  • 解决springBoot启动报错Failed to obtain JDBC Connection; nested exception is java
    FailedtoobtainJDBCConnection;nestedexceptionisjava.sql.SQLNonTransientConnectionException:CLIENT_PLUGIN_AUTHisrequired意思是获取JDBC连接失败,导致的......
  • Ceph使用---对接K8s集群使用案例
    一、环境准备让k8s中的pod可以访问ceph中rbd提供的镜像作为存储设备,需要在ceph创建rbd、并且让k8snode节点能够通过ceph的认证。k8s在使用ceph作为......
  • CSharp: Interpreter Pattern in donet core 3
     ///<summary>/// 解释器模式InterpreterPattern/// geovindu,GeovinDuedit///</summary>interfaceEmployee{///<sum......
  • Oracle SQL 性能調整
    1.选用适合的ORACLE优化器  ORACLE的优化器共有3种:  a. RULE(基于规则)  b.COST(基于成本) c.CHOOSE(选择性)  设置缺省的优化器,可以通过对init.ora......
  • ch2-4:遇到嵌套列表进行缩进打印
    1、增加一个参数来控制缩进打印:level'''这是一个模块,可以打印列表,其中可能包含嵌套列表'''deflevel):"""这个函数取一个位置参数the_list,他可以是任何列表,该列表中的每......
  • SpringMVC简介
    SpringMVC简介大部分Java应用都是Web应用,展现层是WEB应用不可忽略的重要环节.Spring为了展现层提供了一个优秀的WEB框架-SpringMVC . 和众多的其他WEB框架一样,它基于......