C#,入门教程(10)——常量、变量与命名规则的基础知识

上一篇:

C#,入门教程(09)------运算符的基础知识https://blog.csdn.net/beijinghorn/article/details/123908269

C#用于保存计算数据的元素,称为"变量"。

其中一般不改变初值的变量,称为常变量,简称"常量"。

无论是常量还是变量,只有给了名字才有意义。变量命名是很讲究的学问。实际工程中,参与者首先拿到的技术文档,都是《xxx系统命名规则》,包括对于变量、常量、枚举及命名空间、类、函数、属性、数据库(表、字段)等等的命名规则。

遵守良好的命名习惯如同遵守交通规则。

一、命名规则

(不限于变量)命名规则,按应用场景稍微很大的区别。

1、顶层名字的命名

命名空间、类、属性、函数等称顶层名字,一般用 Pascal 命名规则------首字母大写。

cs 复制代码
// 命名空间
namespace Legalsoft.Algorithm
{
    // 类
    public class LinearEquation
    {
        // 属性(字段)
        public int Dimension { get; set; } = 0;
        public double[,] Data { get; set; } = null;
        // 方法
        public bool Solution()
        {
            ;
            return true;
        }
    }
}

2、一般变量的命名

用于函数内的变量,一般采用 Camel (驼峰命名法)------ 第一个单词小写,后面按 Pascal 规则。

cs 复制代码
int teachNumber = 0;

3、循环变量的命名

用于循环类语句的变量,选择最短单词或字母,使用 i,j,k等。

如果变量与空间位置、方向有关,则使用 x,y,z 等。

cs 复制代码
// 循环(数组下标)
for(int i=0; i<array.Length; i++) 
{
    array[i] = 0;
}

// 按行、列
for(int y=0; y<Row; y++) 
{
    for(int x=0; x<Column; x++) 
    {
        matrix[y, x] = 0;
    }
}

二、常量

常量是一般不做修改的、有初值的变量。用 const 或 readonly 加以修饰。

cs 复制代码
// 表示数组的长度
const int arrayLength = 100;

// 应用
int[] arrayTeacher = new int[arrayLength];


// 或者类中间的常量型属性
private readonly int MaxValue = 100;

三、变量

前面其实已经接触了很多次变量了。

cs 复制代码
// 不好
int arrayPosition = 1, arrayRight = 100;

// 好!为什么?30年的经验与教训!
int arrayPosition = 1;
int arrayRight = 100;

没多少,就这么点事。

下一篇:

C#,入门教程(11)------枚举(Enum)的基础知识和高级应用https://blog.csdn.net/beijinghorn/article/details/123917587

相关推荐
不是万能的豆学长3 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
懂点Tech8 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
徐小夕8 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github
Robert--cao8 小时前
移动底盘与机械臂联合规划:开源算法与工程实现
算法
catchadmin9 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路9 小时前
go-grpc设计思想
开发语言·后端·golang
小豆庄9 小时前
Mac 上给视频人脸打码:本地工具的依赖、追踪与推理管线
算法·视觉检测·视频·敏捷流程·纹理贴图
星夜离尘5610 小时前
MATLAB 工程实验:从相邻块均值手写重叠 Allan 偏差,数清有效项
算法·matlab·均值算法
酷炫码神10 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客11 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es