C#学习第一课
C#和Java存在很多相似之处,但是也存在一些差异。今天下午刚去图书馆借了C#的入门书籍,进过简单的入门,我了解了几点不同之处:
1. Java中的基本数据类型只有8种,数据类型不存在无符号和有符号的区分,而C#中的基本数据类型多余Java,因为C#中数值存在有符号和无符号的类型。
2. C#中有结构的类型,这应该是借鉴了C/C++中的结构体的概念。而Java中没有这种数据类型。
3. 数组的使用方面,C#的多维数组声明方式比较特别,是在数组名后的中括号里增加逗号,并在初始化时指定每一维的长度。而Java或者C++等声明多维数组时都是在数组名后跟多个中括号。
4. 在控制结构中,C#中比C++增加了foreach语句结果,与Java中的for循环迭代有些相似,但是我感觉Java中for迭代功能更加强大。C#中goto end 句型我还是第一次见到,觉得这很特别。
方法的参数类型
值传递和引用传递:方法调用时,程序会首先将实参的值传递给对应的形参,对于引用类型的参数,实参和形参会指向同一个对象;而对于值类型的参数,实参的值将被赋值一份给形参。C#中提供了方法参数的引用传递方式,引用传递的方法参数通过“ref”关键字修饰:
public static void function(ref int x,ref int y){}
调用时也需要才实参之前添加ref关键字
输出型参数:
输出型参数使用out 关键字加以修饰。输出型参数也采用引用传递方式,但是形参在方法中必须被赋值。
public decimal gain(decimal x, int n, out decimal interest){}
数组型参数:
方法的参数类型可以是数组,在参数前面加上params,该参数就成为了数组型参数,类比Java中的可变参数。
C#学习第一课的更多相关文章
- Magento学习第一课——目录结构介绍
Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...
- Elasticsearch7.X 入门学习第一课笔记----基本概念
原文:Elasticsearch7.X 入门学习第一课笔记----基本概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...
- MFC学习-第一课 MFC运行机制
最近由于兴趣爱好,学习了孙鑫的MFC教程的第一课.看完视频了,自己便用visual studio 2010尝试了MFC编程,其中遇到了一些问题. 1.vs2010不像vs6.0那样可以新建一个空的MF ...
- python学习第一课要点记录
写在要点之前的一段话,留给将来的自己:第一次参加编程的培训班,很兴奋很激动,之前都是自己在网上找免费的视频来看,然后跟着写一些课程中的代码,都是照着模子写,没有自己过多的思考.感觉这样学不好,除了多写 ...
- python学习第一课
第一课: 1.不要使用来路不明的软件 2.下载杀毒软件 3.不懂技术的人在技术人面前会显得愈发无知 4.python无所不能 需要掌握的知识: 1.python基本语法 2.文件处理 3.函数 4.模 ...
- Kotlin学习第一课:从对比Java开始
1. 介绍 今年初,甲骨文再次对谷歌所谓的安卓侵权使用Java提起诉讼,要求后者赔偿高达90亿美元.随后便传出谷歌因此计划将主力语言切换到苹果主导的Swift,不过这事后来没了跟进. 但谷歌在这两天的 ...
- Asp.net MVC4高级编程学习笔记-视图学习第一课20171009
首先解释下:本文只是对Asp.net MVC4高级编程这本书学习记录的学习笔记,书本内容感觉挺简单的,但学习容易忘记,因此在边看的同时边作下了笔记,可能其它朋友看的话没有情境和逻辑顺序还请谅解! 一. ...
- Git速成学习第一课:创建版本库与版本回退
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 我太困了0.0精神点再写...... /*我来啦!以后会陆续更新自己的学习笔记*/ Git是分布 ...
- shell脚本学习第一课
shell是一种程序设计语言,是访问操作系统内核的服务. Linux的shell种类常见的有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell ...
- AngularJS学习第一课
AngularJS2与AngularJS1有很大的不同. AngularJS2支持ECMAScript6,为了提升性能,支持移动化开发(安卓.ios平台),因此升级为AngularJS 2,Angul ...
随机推荐
- TCP服务器如何区分不同的用户
CS架构:使用SOCKET(一般是一个整数),当服务器侦听到连接请求的时候,accept会返回一个SOCKET(用于识别不同的连接,可以理解成,SOCKET是区分不同连接的ID).当服务器listen ...
- java源码学习
Collection List ArrayList LinkedList Vector Stack Set HashSet TreeSet Map HashMap TreeMap LinkedHash ...
- [NOIP1999]进制位(搜索)
P1013 进制位 题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E ...
- 洛谷 P1454 圣诞夜的极光
P1454 圣诞夜的极光 题目背景 圣诞夜系列~~ 题目描述 圣诞老人回到了北极圣诞区,已经快到12点了.也就是说极光表演要开始了.这里的极光不是极地特有的自然极光景象.而是圣诞老人主持的人造极光. ...
- thinkphp路由的作用
thinkphp路由的作用 问题 请问一下什么是thinkPHP路由,路由有什么作用?谢谢 解答 网络访问地址从来都是映射访问的,最初是这样,主机名(电脑名称)=>ip地址(如局域网192.16 ...
- 怎么在cmd中输入mysql就可以进去mysql控制台
执行命令 设置cmd以管理员身份运行
- ORA-01659: 无法分配超出 7 的 MINEXTENTS
plsql连接出错:ORA-01659: 无法分配超出 7 的 MINEXTENTS (在表空间 PERFSTAT 中) 从 Oracle Database 10g Enterprise Editio ...
- 解决Visual Studio-IIS Express 支持局域网访问
- POJ 1610 Count the Colors
Count the Colors Time Limit: 2 Seconds Memory Limit: 65536 KB Painting some colored segments on ...
- C/C++(C++重载,默认参数,引用)
C++重载详解 重载就是同名而非同义,具体意义根据上下文的语境而言. 重载规则: 1,函数名相同. 2,参数个数不同,参数的类型不同,参数顺序不同,均可构成重载. 3,返回值类型不同则不可以构成重载. ...