首页 新闻 会员 周边 捐助

第一次见这种定义方法 C#

0
[已解决问题] 解决于 2012-07-11 10:10
public static partial class @string
{
static string str = string.Empty;
}

第一次见到这种定义方法,有没有人可以给说明一下,为什么这样定义,还有,该怎么用,在什么情况下使用

nil的主页 nil | 小虾三级 | 园豆:881
提问于:2012-03-29 22:53
< >
分享
最佳答案
0

那个@把你搞迷糊了吧,其实你只当它是个普通字符就行了,就像类名也可以使用中文一样正常。

奖励园豆:5
luotong | 初学一级 |园豆:4 | 2012-03-29 23:32

我知道这个可以像普通类一样使用,只是定义的类名是C#关键字,我想知道微软这样定义有什么用意

nil | 园豆:881 (小虾三级) | 2012-03-29 23:34

@未将对象引用设置到对象的实例: 

不是C#关键字啊,是@string 又不是string

luotong | 园豆:4 (初学一级) | 2012-03-30 00:12

@luotong: 知道这个,在关键字前面加@符号,就可以使用C#关键字了,我表达有问题

nil | 园豆:881 (小虾三级) | 2012-03-30 08:21

@未将对象引用设置到对象的实例: 

根据你说的,那这几句话也可以套用:

在关键字前面加_符号,就可以使用C#关键字了。

在关键字前面加a符号,就可以使用C#关键字了。

在关键字前面加b符号,就可以使用C#关键字了。

在关键字前面加c符号,就可以使用C#关键字了。

在关键字前面加d符号,就可以使用C#关键字了。

luotong | 园豆:4 (初学一级) | 2012-03-30 17:10
其他回答(3)
0

带上@的意思就是告诉编译器,这不是一个内部的关键字,而是用户定义的名字。

玉开 | 园豆:8822 (大侠五级) | 2012-03-30 08:27

但是,只要定义类名或者变量名的时候不适用C#关键字就可以了,为什么微软还要提供这样一种特殊的方法来允许使用关键字来定义变量名,微软有什么用意

支持(0) 反对(0) nil | 园豆:881 (小虾三级) | 2012-03-30 09:10

@未将对象引用设置到对象的实例: 

用意不好说,我个人认为只是提供了一种可能。这种可能让你在用到和关键字一样意义的变量名时可以用。仅此而已。

支持(0) 反对(0) 玉开 | 园豆:8822 (大侠五级) | 2012-03-30 09:36

@未将对象引用设置到对象的实例:

你始终没有跳出思维定式。

@string, _string, mystring, 我的string,圈string 

第一个和其它的有什么区别?反应过来了没有?你要还迷不过来我算彻底服你了。

支持(0) 反对(0) luotong | 园豆:4 (初学一级) | 2012-03-30 17:06
0

学习了。。。

KivenRo | 园豆:1734 (小虾三级) | 2012-03-30 08:57
0

Mark

Kevin.Choi | 园豆:3 (初学一级) | 2012-04-18 13:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册