使用@符号让C#中的保留字做变量名的方法详解

 更新时间:2013年05月18日 09:44:55   作者:  
本篇文章是对使用@符号让C#中的保留字做变量名的方法进行了详细的分析介绍,需要的朋友参考下

在c和c++中,我们知道没办法起一个变量名叫int,因为这是C/C++保留的关键字,起这么一个变量名没办法区分到底是int类型还是int变量。
事实上在C#中也有这么一条规矩,就是不能起一个变量名是保留的关键字。如下图:

image

在C/C++中,我们是无能为力的,你必须起一个不叫int的,比如加个下划线。。
当然,C#中也可以这么干。

image

@
今天阅读《C# 3.0 in a Nutshell, 3rd Edition》才知道,原来还有一种办法就是加@符号(看了@符号的作用又多了一个):
复制代码 代码如下:

class @int
    {
        static void Main(string[] args)
        {
            Console.WriteLine(@string.@long);
        }
    }
    class @string
    {
        public static int @long = 3;
    }

当然,@符号除了能加在保留字前面,也能加在其它任何合法的变量名前:
复制代码 代码如下:

string @demoStr = string.Empty;

注意:在编译器中,@符号会自动移走的,也就是说demoStr和@demoStr在编译器中会被认为是同一个变量。

image

虽然c# 提供了这种机制来起一个保留字的变量名,但我个人认为这是一种不好的代码风格。因为对于不知道这个特性的其它人而言,这种方法可能会让他感到困惑。

相关文章

  • C#多线程中如何运用互斥锁Mutex

    C#多线程中如何运用互斥锁Mutex

    这篇文章主要为大家详细介绍了C#多线程中如何运用互斥锁Mutex,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • c#调用api控制windows关机示例(可以重启/注销)

    c#调用api控制windows关机示例(可以重启/注销)

    本文介绍了c#控制windows关机、重启、注销的二种方法,分为调用windows自带的shutdown.exe关机和调用API关机的方法
    2014-01-01
  • c#读取图像保存到数据库中(数据库保存图片)

    c#读取图像保存到数据库中(数据库保存图片)

    这篇文章主要介绍了使用c#读取图像保存到数据库中的方法,大家参考使用吧
    2014-01-01
  • C#串口连接的读取和发送详解

    C#串口连接的读取和发送详解

    这篇文章主要给大家介绍了关于C#串口连接的读取和发送的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • C# 泛型集合的自定义类型排序的实现

    C# 泛型集合的自定义类型排序的实现

    这篇文章主要介绍了C# 泛型集合的自定义类型排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • C#批量更新sql实例

    C#批量更新sql实例

    这篇文章主要介绍了C#批量更新sql的方法,详细讲述了其实现步骤与对应的核心代码,非常实用,需要的朋友可以参考下
    2014-10-10
  • C#实现简单屏幕监控的方法

    C#实现简单屏幕监控的方法

    这篇文章主要介绍了C#实现简单屏幕监控的方法,涉及C#的图标隐藏及屏幕截图等技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 详解WPF如何显示具有层级关系的数据

    详解WPF如何显示具有层级关系的数据

    这篇文章主要为大家详细介绍了在WPF中如何显示具有层级关系的数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • C#查找素数实现方法

    C#查找素数实现方法

    这篇文章主要介绍了C#查找素数实现方法,程序中有很多使用的功能模块,非常适合C#初学者学习借鉴,需要的朋友可以参考下
    2014-08-08
  • C#使用CryptoStream类加密和解密字符串的实现

    C#使用CryptoStream类加密和解密字符串的实现

    CryptoStream设计用于在内容以流的形式输出到文件时加密和解密内容,本文主要介绍了C#使用CryptoStream类加密和解密字符串的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01

最新评论