三天学完C#--第一天

首先工欲善其事,必先利其器。

一,开发环境安装

下载安装visual stdio 2017


安装好开发工具IDE之后,然后再下载支持C#开发相关的插件.




安装好之后就可以进入IDE进行最后一步的调试了。

进入查看帮助里面找到 .NET 和 C# 文档并安装




打出你的第一步的程序  Hello,world



contrl + F5  运行,就可以看到HelloWorld出现了在控制台里面了

下面我们来认识一下C#的程序结构,其实要快速掌握一门新的编程语言就要把HelloWorld完整解析.


这三行其实是使用命名空间就像JAVA里面的import关键字一样,导入已经声明好的命名空间,在程序中就可以直接使用类名来调用


这个是声明命名空间,在其他程序中可以using这个命名空间


这个是类的声明,与JAVA中的类一样是面向对象编程的一个重要组成部分


方法的声明以及,方法体的语句.

到此环境已经配置成功就可以畅通无阻的敲代码了.

二,面向过程开发


基本上与其他的强类型开发语言一样都是有严格的类型区分,但是C#在小取值范围类型转换成大取值范围类型时是自动转换类型的不用像c语言一样声明类型转换,反之则不行还是需要显式转换,并且运算符都是与其他语言保持一致,变量的命名风格采用的是驼峰命名风格.

强制转换的几种方法


逻辑运算符号


并且与C语言不一样的是逻辑表达 不是0与非0,而是True 与 False ,这种值的类型就是bool 类型


分支结构,循环结构


二维数组


方法

方法名要求首字符大写,遵循驼峰命名法


最后引用一下某培训班对方法执行原理的讲解,大致意思就是当程序执行时会把方法压入栈中,那么按照数据结构--栈的特性,先入后出,先调用(先压进栈),只有等最上面的方法执行完之后,下面的方法才能运行知道出栈,这也解释了,为什么main方法总是最后出栈.


方法的重载,当形参不一样时,方法名一样时,这时就叫做方法的重载


当程序产生无限递归的时候,将会发生栈溢出。因为栈里面的方法超出了栈的上限。


引用类型


这一段代码执行之后的结果是没有发生交换,因为两个方法所访问的地址不一样因此不会发生交换,而下面这一段代码会有所不同。



原理如图所示,因为数组分配的是一段连续的空间在堆中,而数组变量储存的是这段连续空间的首地址,因此传给另外一个方法时,也是传的地址,因此通过这个地址可以实现交换。这就是所谓的引用类型。


当参数变量使用ref 时,可以引用传递参数地址,因此可以达到引用的效果。


当参数变量使用out 时,可以引用传递参数地址,因此可以达到引用的效果。


那么 ref 和out 有什么区别呢?

1,在方法结束前,必须对out进行赋值,ref不需要

2,out参数不能直接使用默认未赋值,而ref参数能直接使用默认有值(形参的值)。

练习两个常用的算法

二分法查找


选择排序


二,面向对象开发

C#是一个面向对象的语言,因此与众多面向对象开发的语言有共同的特点---封装,继承,多态。

C# 的对象在栈,堆 中存在形式与java一致,存在对象引用的情况


static关键字加在方法前是不需要实例化对象就可直接访问,因此这个特征与JAVA一致


封装

修饰符是封装体现最明显的一个表现。


C#中类的属性,构造方法与JAVA 一致,也可以存在getter与setter方法,在C#中的构造方法还可以并列使用,比如下图中第三个构造方法所示


C#中的属性访问器与swift的计算属性很相似


readonly 关键字的用法和特征


单例模式1


单例模式2


单例模式3


单例模式思想,始终只创建了一个对象节约内存空间.

继承


C# 的继承,与JAVA一致,但是写法不一样,写法如下,而且构造方法不能被继承,其他继承特性都与JAVA一样,所有类都是继承自object。


多态

由于C# 多态也与JAVA的多态相似,因此直接引用培训班的讲义备忘



C#中存在类型判断


重写与JAVA基本也一致,直接忽略


唯一不一样的是C#中有override,abstract,virtual 修饰的方法,而JAVA中只存在abstract修饰符



父类方法必须是override,abstract,virtual 修饰的方法才能被子类重写,而且子类必须用override修饰重写的方法。

枚举


枚举类型中,其实每个成员变量是整型与字符串型的结合体,当直接输出值时是输出与变量名相同的字符串,但是转化成int类型的时候就会看到成员的整型值。如下


并且每个成员变量的值时可以指定的,比如


main方法代码不变输出如下:


并且依次变量的值会递增的改变,因为枚举类型变量都是递增的。

总结


今日总结

其实今天过得比较悠闲,休息会儿敲会儿代码的,导致今天没有把基础部分学习完,明天继续。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容