当前位置: 首页 > news >正文

C#第四讲:C#语言基本元素概览,初识类型、变量与方法,算法简介

一、构成C#语言的基本元素

1、标识符

允许将下划线用作初始字符(这是C编程语言的传统)。

允许在标识符中使用 Unicode 转义序列,以及允许“@”字符作为前缀以使关键字能够用作标识符。

(1)命名方法

变量名:用驼峰法。(第一个单词首字母小写,后面其它单词都首字母大写。)

命名空间、类名、方法名:用Pascal法。(所有单词首字母大写。)

(2)各种快捷键查看

ctrl+W:选中最近的空白或单词。

ctrl+D:复制粘贴一行代码/单词/空白。

ctrl+X:删除一行代码/单词/空白。

ctrl+L:删除一行代码。

Alt+上箭头:将选定行上移。

Alt+下箭头:将选定行下移。

二、初识类型、变量和方法

1、var类型(Variable的简写):编译器自动获得这个变量的类型。

int类型:var x  = 3;

Long类型:var x  = 3L;

double类型:var x  = 3D;或var x  = 3.0;

float类型:var x  = 3F;

2、方法(即函数)

原来c语言叫做函数,后面出现c++面向对象,函数就成了类的成员,就称作方法。

(1)函数的参数设置——参数修饰符

1>无修饰符:如果一个参数没有用参数修饰符标记,则认为它将按值进行传递,这将意味着被调用的方法收到原始数据的一份副本。【即不会改变原来的变量的值】
2>out:输出参数由被调用的方法赋值,因此按引用传递。【即在变量的内存地址上改值,会改变原来的变量的值】

        注意:如果使用out,则在函数里必须为其赋值,不然会报错。

3>ref:调用者必须赋初值,并且可以由被调用的方法可选的重新赋值(数据是按引用传递的)。如果被调用的方法未能给ref参数赋值,也不会有编译器错误。

        注意:如果使用ref,则在调用函数前必须为其赋值,不然会报错。

        综合3>4>可知:使用out可以在传参时临时定义变量(因为函数里一定会对这个变量进行修改,这个变量不会为空),但是ref不允许。

3、递归:自己调用自己,大坨变小坨,寻找递归结束条件。【数据结构】递归专题——汉诺塔详解-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_62533201/article/details/131867845?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%B1%89%E8%AF%BA%E5%A1%94%E9%80%92%E5%BD%92&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-7-131867845.142%5Ev100%5Epc_search_result_base2&spm=1018.2226.3001.4187小学生家长快来看!八阶汉诺塔最少移动步骤超详细讲解操作!_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1qQ4y1X7XG/?spm_id_from=333.337.search-card.all.click&vd_source=10f95e3575182963a97c124dc5ae425f

具体移动规律:

要动第一层的时候,另外两个柱子是空柱和奇数柱时,选偶空柱;

另外两个柱子是奇数柱和偶数柱时选偶数柱。(注:奇数柱或偶数柱是指柱顶圆环的数。)


http://www.mrgr.cn/news/56160.html

相关文章:

  • Web安全 - 跨站点请求伪造CSRF(Cross Site Request Forgery)
  • 力扣困难题汇总(14道)
  • 01-编程入门
  • ScrollView 真机微信小程序无法隐藏滚动条
  • 国有企业在薪酬管理方面常出现哪些问题?
  • 智慧公厕厂家:智慧公厕建设推动城市公厕智能化变革
  • 《SpringBoot+Vue》Chapter02_SpringBoot基础配置
  • 暴力破解+宝塔+xp_CAPTCHA+WIN2012+DVMA暴力破解+BP-PY+CMS+PY-MG+BP识别XP
  • 初探Vue前端框架
  • AtCoder Beginner Contest 376(C,E题题解)
  • 接口性能优化的11个小技巧
  • 什么是高水位线
  • MySQL 基础查询
  • 数据通路(Data Path)
  • Mybatis中 使用#和$ 需要注意的点
  • 大模型学习路径,零基础入门到精通,收藏这篇就够了
  • Aloop虚拟声卡
  • wsl2配置网络代理,访问外网
  • Qt学习笔记(二)Qt 信号与槽
  • 华为HarmonyOS实现实时语音识别转文本
  • python将1格式化为01
  • k8s dockers 部署 k8s运行docker
  • 使用RRT算法进行路径规划的探索与优化
  • CodeQL和数据流分析的简介
  • 双十一有哪些值得购买的好物品?2024双十一超级好用的五款品牌分享
  • Qt开发笔记(一)Qt的基础知识及环境编译(泰山派)