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

上一篇:

C#,入门教程(09)——运算符的基础知识icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/123908269

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

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

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

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

一、命名规则

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

1、顶层名字的命名

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

// 命名空间
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 规则。

int teachNumber = 0;

3、循环变量的命名

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

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

// 循环(数组下标)
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;}
}

二、常量

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

// 表示数组的长度
const int arrayLength = 100;// 应用
int[] arrayTeacher = new int[arrayLength];// 或者类中间的常量型属性
private readonly int MaxValue = 100;

三、变量

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

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

没多少,就这么点事。

下一篇:

C#,入门教程(11)——枚举(Enum)的基础知识和高级应用icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/123917587

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/600566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT工具栏开始,退出

QT工具栏开始&#xff0c;退出 //初始化场景QMenuBar *bar menuBar();setMenuBar(bar);QMenu *startbar bar->addMenu("开始");QAction * quitAction startbar->addAction("退出");connect(quitAction , &QAction::triggered,[](){this->c…

Pycharm打包程序为exe文件

Pycharm打包程序为exe文件 【一】导入模块pyinstaller 【1】图片说明 【2】文字说明 根据图片顺序执行 首先点击file进入settings界面&#xff0c;在setting界面找到Project下面的Python Interpretor&#xff0c;点击号进行模块的添加在搜索框中输入pyinstaller&#xff0c;…

三、Kubernetes(K8s)入门(一)

视频教程连接k8s 入门到微服务项目实战.xmind链接&#xff1a;https://pan.baidu.com/s/1q04euH7baE8eXNyG3kPPbA 提取码&#xff1a;jej4比较好的笔记 kubectl命令的语法如下&#xff1a; kubectl [command] [type] [name] [flags]comand&#xff1a;指定要对资源执行的操作…

了解单元测试

一&#xff0c;测试分类 1.1 E2E测试&#xff08;end to end端到端测试&#xff09; 属于黑盒测试。 主要通过测试框架&#xff0c;站在用户测试人员的角度&#xff0c;模拟用户的操作进行页面功能的验证&#xff0c;不管内部实现机制&#xff0c;完全模拟浏览器的行为。&am…

任我行CRM系统SmsDataList接口SQL注入漏洞复现 [附POC]

文章目录 任我行CRM系统SmsDataList接口SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议任我行CRM系统SmsDataList接口SQL注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关…

C++《异常》

前言&#xff1a;C有一套独立的异常处理机制,今天就来做详细的介绍try,catch这两个词等 在C语言中处理错误的方式和缺陷有&#xff1a; 返回错误码。 缺陷&#xff1a; 1.错误码不好设置&#xff0c;比如&#xff1a;除0操作&#xff0c;就不好返回错误码。如果返回一个数字&…

Flume基础知识(八):Flume 拓扑结构全解

1. 简单串联 这种模式是将多个 flume 顺序连接起来了&#xff0c;从最初的 source 开始到最终 sink 传送的 目的存储系统。此模式不建议桥接过多的 flume 数量&#xff0c; flume 数量过多不仅会影响传输速 率&#xff0c;而且一旦传输过程中某个节点 flume 宕机&#xff0c;会…

LC 2807. 在链表中插入最大公约数

2807. 在链表中插入最大公约数 难度 &#xff1a; 中等 题目大意&#xff1a; 给你一个链表的头 head &#xff0c;每个结点包含一个整数值。 在相邻结点之间&#xff0c;请你插入一个新的结点&#xff0c;结点值为这两个相邻结点值的 最大公约数 。 请你返回插入之后的链表…

thinkphp学习04-控制器定义

控制器&#xff0c;即 controller&#xff0c;控制器文件存放在 controller 目录下&#xff1b; 如果想改变系统默认的控制器文件目录&#xff0c;可以在 config 下 route.php 配置&#xff1a; 将controller修改为controller123&#xff0c;就会报错&#xff0c;说明这个配置…

Sqlmap参数设置

Sqlmap参数设置 &#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388;&#x1f388; --------------------------------------------注意---------…

易图讯便携式三维电子沙盘实战应用系统

便携式三维电子沙盘采用军工加固三防高性能笔记本&#xff0c;具有IP65级防尘防水防摔性能&#xff0c;以大数据、云计算、虚拟现实、物联网、AI等先进技术为支撑&#xff0c;支持高清卫星影像、DEM高程数据、矢量数据、三维模型、倾斜摄像、BIM、点云、城市白模、等高线、标高…

033 - STM32学习笔记 - TIM定时器(一) - 高级定时器

033 - STM32学习笔记 - TIM定时器&#xff08;一&#xff09; - 高级定时器 上节内容学习了基本定时器&#xff0c;其功能比较简单&#xff0c;配置和使用也比较容易&#xff0c;今天在基本定时器的基础上学习一下高级控制定时器的内容。 在F429上一共有两个高级控制定时器和1…

PyTorch|一次画一批图像

想想这样一个场景&#xff0c;我们训练了一个神经网络&#xff0c;输入一些信息&#xff0c;这个网络可以根据信息为我们生成相关图片。 这些图片并不是一张&#xff0c;而是多张&#xff0c;我们想把这些图片一次全部显示出来&#xff0c;而不是一张一张的显示&#xff08;这…

Python蒸发散物理问题(微积分-线性代数-拉普拉斯和傅立叶变换)

使用Python计算解决土壤物理问题的数值。这里数值过程用于求解微分方程&#xff0c;数值方法将微分转化为代数方程&#xff0c;可以使用传统的线性代数方法求解。 Python拉普拉斯变换求解微分方程示例 假设我们有微分方程 y ′ ′ 2 y ′ 16 y cos ⁡ 4 t y^{\prime \pri…

关于unity的组件VerticalLayoutGroup刷新显示不正常的问题

先说明一下我是如何用到&#xff0c;有哪些处理的 用到这个组件基本上都是将列表进行排版操作的&#xff0c;竖着&#xff0c;或者横着&#xff0c;横着用HorizontalLayoutGroup 还有一个和这个组件搭配的组件叫ContentSizeFitter 先说我是怎么发现这个组件不好用的 //本地读取…

中标麒麟文件系统损坏修复

中标麒麟v5.0桌面版本文件系统损坏修复 1.用系统安装光盘启动到如下图界面&#xff0c;关闭或最小化“安装到硬盘”窗口 2.右击打开命令提示符&#xff0c;执行su – root 3.执行如下图命令&#xff0c;找到除swap格式分区的其他分区 4.按照上图显示的格式执行相关命令&#…

【数据结构】二叉搜索(查找/排序)树

一、二叉搜索树基本概念 1、定义 二叉搜索树&#xff0c;又称为二叉排序树&#xff0c;二叉查找树&#xff0c;它满足如下四点性质&#xff1a; 1&#xff09;空树是二叉搜索树&#xff1b; 2&#xff09;若它的左子树不为空&#xff0c;则左子树上所有结点的值均小于它根结…

第十六章 调用Callout Library函数

文章目录 第十六章 调用Callout Library函数使用 $ZF() 访问 iriszf 标注库 第十六章 调用Callout Library函数 Callout 库是一个共享库&#xff08;DLL 或 SO 文件&#xff09;&#xff0c;其中包含 $ZF Callout 接口的挂钩&#xff0c;允许各种 Z F 函数在运行时加载它并调…

编程笔记 html5cssjs 025 HTML输入类型(1/2)

编程笔记 html5&css&js 025 HTML输入类型&#xff08;1/2&#xff09; 输入类型&#xff1a;text输入类型&#xff1a;password输入类型&#xff1a;submit输入类型: radio输入类型: checkbox输入类型: buttonHTML5 输入类型输入类型&#xff1a;number 本节介绍HTML输…

C# .Net学习笔记—— 异步和多线程(await/async)

一、介绍 1、控制台测试await/async 2、C# 5.0 .Net framework4.5 CLR4.0 以后才有&#xff0c;本身是一种语法糖 二、基本测试 1、不加await测试。 private async static Task TestAsync() {Log.Info($"当前主线程id{Thread.CurrentThread.ManagedThreadId}"…