龙空技术网

C# - 变量的命名规则与规范;通过反编译工具查看局部变量 010

源丁编程 2036

前言:

如今姐妹们对“c语言变量名命名规则”大约比较关切,同学们都需要知道一些“c语言变量名命名规则”的相关资讯。那么小编也在网络上收集了一些对于“c语言变量名命名规则””的相关资讯,希望朋友们能喜欢,朋友们一起来学习一下吧!

C#中的规则:必须遵守(类比法律);规范:推荐遵守(类比道德)

变量命名规则

1 必须以"字母",_(下划线)或者@开头

第一命名规则声明变量

因为VS编程工具是世界级的程序开发工具,因此这里的字母可以是任何国家的语言(被C#的语法所认同的语言),所以第二个变量可以使用中文进行声明(可以使用,但不推荐使用)

2 以第一规则为基础,后面可以跟任意的"字母",数字,_(下划线)

第二命名规则使用,警告不影响程序编译执行

使用第二规则的注意事项

注意事项1: 变量名不能与C#中的关键字相同

不要与C#关键字重名

报错原因,按C#的底层机制将第二个int也当成关键字了不符合C#的变量声明规则

错误列表中的错误与警告的区别:

错误:会导致程序无法编译通过,所以不能运行,必须改正

警告:指程序中有些代码不恰当(如声明的变量不使用),不会影响程序编译,在少数情况下会影响程序运行,一般警告也可以忽略不去改正(推荐改正,让程序编译没有一个警告)

注意事项2: C#区分大小写

//f1与F1表示两个变量float f1 = 10f; float F1 = 10f;

注意事项3: 同一变量名不能重复声明(先这么说)

同一作用域范围内变量名不能重名

变量名与变量值的区别(值类型数据):

变量名:同一作用域范围内不能相同

变量值:值可以相同也可以不同,不受作用域影响

即使值相同在内存中的地址也不相同

变量值在内存中的地址

同一变量可以重复赋值,只是之后的赋值,会覆盖之前的赋值

覆盖前值

行号15:执行到这句代码时,输出方法会根据变量名去内存中读取该变量名地址中的数据

行号16:因为使用双引号,方法则解析为一个字符串而不是变量名,所以按照字符串输出

行号20:将变量重新赋值即将内存中该变量名地址中的数据由3改变为6,新值就会覆盖旧值,最后输出方法读取到的则是新值

变量的最终值是以什么时候使用,最终值就是什么

输出变量最终值

使用变量之前的任何赋值操作都会影响变量最终值,如 f2=6

在使用变量之后的任何赋值不影响当前使用变量的最终值,如 f1=3; 除非再次使用 如在行号15 重新输出 f1 则 f1=6

命名规范

1 声明的变量名要有意义即要有见名知意的作用(推荐使用对应的英文命名)

类似性别这类只有两个值的一般都使用布尔类型;true(男) false(女)

性别英文单词推荐使用gender,不要使用sex(据说有不好的寓意)

类似身份证号,银行卡号,学号,工号等不进行计算的数字都使用字符串类型

2 如果变量名使用了缩写的英文单词,全部使用大写

//声明圆周率的PIfloat  PI=3.14;

3 驼峰式命名法(Camel)

也叫骆驼式或小驼峰式命名法,是编写词组代码时的一套命名规范即单词首个字母小写,其余的大写;常用于声明类的私有字段 如 private string zsName

4 帕斯卡命名法(Pascal)

也叫大驼峰命名法,每个单词都大写;如类名,属性名等

如果所工作的单位有自己的命名规范,以自己单位为准

局部变量

局部变量:在方法内部声明(定义)的变量称为局部变量

说明变量还可以声明在其他地方,比如声明在类中(称为成员字段,之后再说)

局部变量

通过反编译工具查看程序集中的源代码

查看源代码

1 打开程序集方式之前说过不再赘述

2 查看最新编译的程序集 点击B上方按钮即可刷新

3 查看右侧源代码 1)注释信息没了

2)只声明未使用的变量也没了且变量名也被替了;由此印证之前所说的变量名是给程序员使用的,查看IL代码解开变量名为num3/num4的疑惑

4 查看IL代码(IL本身也是一种编程语言)

查看IL代码,使用此工具只为解开C#源代码的底层实现(浅解即可)

在IL中将声明的4个变量装入数组之中,箭头指向IL代码中变量赋的值,未被使用的变量使用注释颜色,被使用的变量使用棕色标注

查看IL代码只为解开变量名的疑惑(以后经常使用查看其方法底层实现),其他的不必理会

使用VS自带反编译工具查看IL代码

一般在C盘这个文件夹下,在右上角搜索框中输入ildasm.exe找到

程序集打开方式与上面所说一样,不再赘述

双击左侧窗口里面的Main方法,即可打开右侧的IL窗口

标签: #c语言变量名命名规则 #c语言 变量命名规则 #c语言010是多少