Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
变量名中的C#@符号_C#_Silverlight - Fatal编程技术网

变量名中的C#@符号

变量名中的C#@符号,c#,silverlight,C#,Silverlight,可能重复: 嗨 我刚接上Silverlight和RIA服务。创建支持编辑的新域服务时,在域服务类(C#)中生成了以下代码: 变量名中的@符号的意义是什么 如果必须有一个同时也是c#reserved关键字的变量名,则使用@。在大多数情况下,它是可以避免的(而且应该避免,因为它可能导致混乱)。有时这是不可避免的;例如,在asp.NETMVC中,您必须将css类添加到元素中,您必须使用这样的匿名类 new {@class = "myCssClass" } 让它呈现 ... class="myCss

可能重复:

我刚接上Silverlight和RIA服务。创建支持编辑的新域服务时,在域服务类(C#)中生成了以下代码:


变量名中的
@
符号的意义是什么

如果必须有一个同时也是c#reserved关键字的变量名,则使用
@
。在大多数情况下,它是可以避免的(而且应该避免,因为它可能导致混乱)。有时这是不可避免的;例如,在asp.NETMVC中,您必须将css类添加到元素中,您必须使用这样的匿名类

new {@class = "myCssClass" }
让它呈现

... class="myCssClass" ...

这是没有办法的。

如果你必须有一个同时也是c#保留关键字的变量名,则使用
@
。在大多数情况下,它是可以避免的(而且应该避免,因为它可能导致混乱)。有时这是不可避免的;例如,在asp.NETMVC中,您必须将css类添加到元素中,您必须使用这样的匿名类

new {@class = "myCssClass" }
让它呈现

... class="myCssClass" ...

这是没有办法的。

class
是C#中的一个保留字,表示一种新类型。变量名不能是保留字,因此可以使用
@
来“转义”符号

又名:


class
是C#中的保留字,表示一种新类型。变量名不能是保留字,因此可以使用
@
来“转义”符号

又名:


如果您试图命名一个变量
,您认为会发生什么?
@
前缀允许您使用保留/关键字作为变量名。

如果您尝试命名变量
,您认为会发生什么?
@
前缀允许您使用保留/关键字作为变量名。

前面已经回答了这个问题

var @class = 12;  // This will compile
var cl@ss = 12; // This will NOT compile
@符号允许您使用保留字


这是以前回答过的

@符号允许您使用保留字


@
符号仅在变量名开头有效,用于允许保留关键字用作变量名

var @class = 12;  // This will compile
var cl@ss = 12; // This will NOT compile

@
符号仅在变量名开头有效,用于允许保留关键字用作变量名

var @class = 12;  // This will compile
var cl@ss = 12; // This will NOT compile

当您想命名同时也是C#关键字的变量时,可以使用@符号。i、 e

var@abstract=“1234”

将创建一个名为“@abstract”的字符串。如果不这样做,您将得到一个编译错误

另外-您可以在字符串前面使用@符号:

var myStr=@“C:\MyDataFile.txt”


这样,您就不必转义字符串中的文字。通常情况下,在C:

之后必须使用双精度\符号,当您想命名同时也是C#关键字的变量时,使用@符号。i、 e

var@abstract=“1234”

将创建一个名为“@abstract”的字符串。如果不这样做,您将得到一个编译错误

另外-您可以在字符串前面使用@符号:

var myStr=@“C:\MyDataFile.txt”

这样,您就不必转义字符串中的文字。通常情况下,您必须在C之后使用双精度\字符: