使用@符号让C#中的保留字做变量名的方法详解
发布时间:2022-06-07 20:22:48
标签:@符号,保留字,变量名
在c和c++中,我们知道没办法起一个变量名叫int,因为这是C/C++保留的关键字,起这么一个变量名没办法区分到底是int类型还是int变量。
事实上在C#中也有这么一条规矩,就是不能起一个变量名是保留的关键字。如下图:
在C/C++中,我们是无能为力的,你必须起一个不叫int的,比如加个下划线。。
当然,C#中也可以这么干。
@
今天阅读《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在编译器中会被认为是同一个变量。
虽然c# 提供了这种机制来起一个保留字的变量名,但我个人认为这是一种不好的代码风格。因为对于不知道这个特性的其它人而言,这种方法可能会让他感到困惑。


猜你喜欢
- 一、简介 TextureMapFragment:用于显示地图片段。 二、示例3--Demo03MapFragment.c
- 定义BroadcastReceiver,“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体
- 这篇文章主要介绍了spring如何实现两个xml配置文件间的互调,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求。Java有原生的API可用于发送HTTP请求,即
- 使用的是iTextSharp添加PDF水印,由于是接口动态生成PDF,所以采用的是全部是内存流的形式,而且水印是平铺是。iTextSharp
- 本文实例讲述了C#根据反射和特性实现ORM 映射的方法。分享给大家供大家参考。具体如下:(一)关于反射什么是反射?反射就是在运行时,动态获取
- windows环境下1、输出logcat日志到本地文件adb logcat -> F:/logcat.txt2、输出带时间的logca
- 1.1 接口组成更新概述接口的组成常量:public static final抽象方法:public abstract默认方法(Java 8
- 本文实例讲述了Android判断设备网络连接状态及判断连接方式的方法。分享给大家供大家参考,具体如下:在Android开发过程中,对于一个需
- Android前段和后端接口进行交互时,经常会遇到特殊字符,比如表情、特殊标点等,这样在Url中是无法识别的,需要进行转码,后端进行解码交互
- 一、 Sharding-jdbc简介“Sharding-jdbc是开源的数据库操作中间件;定位为轻量级Java框架,在Java的JDBC层提
- springboot整合mybatis实现数据库更新批处理1.在mapper接口中编写方法/** * 修改book表中的销量和库存
- 代码入下:import java.io.*; public class Practice { publ
- 当我们开发spring web应用程序时,对于如 IOException , ClassNotFoundException 之类的检查异常,
- 本文实例讲述了Android编程实现自定义进度条颜色的方法。分享给大家供大家参考,具体如下:android 自定义进度条颜色先看图基于产品经
- 我们在学习接口的时候。能够在里面做一些方法的调用。不过今天所要讲的JDBC,虽然也是连接数据库的一种接口,不过与类接口有着很大的区别,大家要
- 其他的不多说了!我们来看看效果吧 一、实现方式一:直接引入compile方式A
- 本文实例讲述了Java设计模式之 * 模式。分享给大家供大家参考,具体如下: * 模式有三个要素——事件源、事件对象、 * 。事件源:顾名思
- 前言最近在工作中遇到了这么一个需求:如何实现 Android 应用前后台切换的监听?下面来一起看看详细的介绍:iOS 内边是可以实现的,Ap
- 一、BigInteger介绍如果在操作的时候一个整型数据已经超过了整数的最大类型长度 long 的话,则此数据就无法装入,所以,此时要使用