这个总结是对于我自己的,不是对于整个C#的。当然多多少少也还是受到了我看的《C#高级编程》的影响。如果有建议,请不吝留言吧!

一写发现自己好无知,我还是先整理纸质的笔记再说其它的……好羞。

1、变量类型

个人的感觉是对于不管是C++还是C#,在.NET平台下,它的预定义变量类型差不多都是一个样子。按书上的讲法就是来自CTS(Common Type System)。总共15个,13个值类,2个引用(string和object)。

(1)值:sbyte(这个在C里面没有)short,int,long,byte(这个C也没有),ushort,uint,ulong,float,double,decimal(这个C也没有),bool,char

和C++.NET一样,可以在赋值的时候加上标识符(可能不是这么叫):无符号用U,长整用L,单精度用F,decimal用M。大小写不分。

这个可能听上去没有用,应该什么用。不过字面值1234被编译器默认为int,虽然他也可以是uint等等其它类型。另外小数默认是double。就算这么说起来也觉得用处不是很大,也许是为了var来定义的时候有用吧。

所说的值类就是定义了以后,值是存在栈(stack)上的,而引用地址在栈上而实际的内容则是在堆(heap)上。如果要用到托管,其实也就是一个垃圾管理器吧。就要用new来声明,会在托管堆上给分配内存,不管是值类还是引用。

(2)string就是字符了,这是一个封闭(sealed)类。object是几乎所有对象的蕨类(base),反正我现在接触到的类最终都是派生于object。类的话,有四个部分,方法(methord)、字段(field),属性(property),事件(event)组成。

方法就是实现功能的函数。有三种来源方式,一种是自己编;一种是来自蕨类;一种是来自接口。第三种可能有点牵强,不过接口在C#,或者在.NET中真的相当重要,因为毕竟C#也是一个封闭好的语言吧。.NET提供的接口可以让你只要轻松的实现了接口的函数,具体怎么完成就不用自己操心了。我感触比较深的就是当你的类继承了IFormatable这个接口后,调用WriteLine会先找你类中的ToString重载。还有就是不管是直接还是间接继承了IEnumarable这个接口,就可以用foreach这个函数。另外有个地方要注意的是如果是托管的话是不会有内存泄漏的,但是这样就不能用指针了,因为内存地址是在变的。但是可以用unsafe关键字来定义一个范围来用指针(在编译器里面也必须允许才行)。而类的内存释放在C#里面不是即时的,如果用析构函数要完成其它功能是不行的,时间上不能把握。可以用IDisposable这个接口。

字段就是以前学习C++的数据成员,而属性就像是一个访问器,可以在set和get里面可以设置更多的规则。其实感觉就是在方便了设置对字段的访问。

事件的话是对一个什么还不是很了解,现在只是知道可以通过事件订阅来让几个类协调起来。

另外,在vs2012中,有object view可以搜索,比较方便新手。

2继承

类只能继承一个,接口可以多个。结构也是值类,只能默认继承,不能自己改(也算是不能继承吧)。

比较新的东西:用new来显式隐藏,overide重写,this,base关键字,

不太知道虚方法和抽象方法有什么区别,都是必须重写。

3、泛型

这个就是之前的模板吧,反正功能上是没有什么不同。但是比较模板,写起来代码少了好多,和正常的类相比就是多了个尖括号。

4、重载

和C++差不多。

5、委托之类

委托就是一个函数指针,泛型委托可以实现接口一样的功能。就是一个客户程序可以处理不同的对象,只要它们实现了同一个接口。lambda实际上是建立了一个匿名的委托,非常容易写简单的函数。

6字符串

现在知道,string类只合适表示结果,如果是要对字符串进行处理还是用stringbuilder。另外可以用unix-like里面支持的正则表达式,不过现在只知道用match,也就是从已有的字符串中找想要的。也许还有更好的用处。

7集合。

我想……知道了列表、序列、栈、链表、字典、位数组、并发集合。其本质还是实现了那些接口。

8、LINQ

用同一语言访问不同数据源。

9、动态扩展

不懂

10、反射

不懂

11、异常

try catch finally ,应用系统自带的异常和自己做自己要的异常。

转载于:https://www.cnblogs.com/tomorrownevercome/archive/2013/01/03/2843083.html

C#的语法总结(第一版)相关推荐

  1. C++后台开发学习路线(已多人拿下腾讯后台开发)

    学习建议 对于技术岗位来说,软件基础知识可以说是个人的硬实力,是你通过面试的一大前提.说到基础软件的学习,对于很多没有基础知识的同学来说,可能有点力不从心.这么多软件基础知识,这么多技术书籍,应该从哪 ...

  2. C 语言编程 — 基本语法

    目录 文章目录 目录 前文列表 C 语言 C 语言的版本 C 语言的特点 C 语言的优点 C 语言的缺点 搭建编程环境 基本语法 前文列表 <程序编译流程与 GCC 编译器> C 语言 C ...

  3. 零基础入门学python 第二版-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...

    第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...

  4. ASP.NET介绍及C#基本语法(一)

    一..NET概述 1.Microsoft .NET框架 .NET Framework简称.NET框架,是微软为开发应用程序创建的一个富有革命性的平台.自2002年发布第一版以来应经在企业运用中迅速占领 ...

  5. 前端笔记之ES678WebpackBabel(上)初识ES678Babellet和const解构语法

    一.ES版本简介和调试运行方法 1.1 ECMAScript简介 MDN手册:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript JavaS ...

  6. 零基础学python鱼c-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...

    第一版 时光荏苒,一晃间,距离<零基础入门学习 Python>出版(2016年11月)已经过去两年多了,在这段时间里, Python 逐步走入了大家的视野,这门语言因其简洁的语法风格,在云 ...

  7. 怒肝俩月,新鲜出炉史上最有趣的Java小白手册,第一版,每个 Java 初学者都应该收藏

    这么说吧,在我眼里,Java 就是最流行的编程语言,没有之一(PHP 往一边站).不仅岗位多,容易找到工作,关键是薪资水平也到位,不学 Java 亏得慌,对吧? 那可能零基础学编程的小伙伴就会头疼了, ...

  8. javascript es6常用语法

    1.ECMAScript 和 JavaScript 的关系(小小的说明) 一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? 要讲清楚这个问题,需要回顾历史.1996 ...

  9. python: python语法

    python入门 文章目录 python入门 3.1学习新语言的步骤 3.1.1为什么要设计python? 3.1.2 python的应用领域 3.2搭建python开发环境 3.2.1安装的说明 3 ...

最新文章

  1. Android.bp 添加宏开关【转】
  2. AI:IPPR的模式生成-CNN模块学习/训练方式(基本结构)
  3. .net 中通用的formatstring格式符整理
  4. 一次U3D DLL加密的记录(二)
  5. Mr.J-- jQuery学习笔记(二十七)--DOM操作方法(删除获取文本)
  6. Spring-读取properties文件
  7. TortoiseSVN 执行清理( cleanUp )失败的解决方案
  8. 经典实用数据库新书推荐-关于mysql和oracle【转孟光】
  9. Eclipse中对一个项目进行复制粘贴为一个新项目
  10. 交换机和路由器技术-28-OSPF的NSSA区域
  11. html文本框设置大小,css怎么设置文本框大小
  12. ACPI\VEN_LENDEV_0078[未知设备]
  13. java98道经典面试题
  14. d3 企业图谱 仿天眼查 企查查
  15. 嵌入式软件开发之常用软件(六)
  16. 西门子博图功能指令——标准化
  17. 昆石VOS3000_2.1.6.0.0安装交流 vos5000服务
  18. 企业邮箱托管选哪家好,163企业邮箱如何购买?
  19. 推荐一个无版权图片网站
  20. dp302打印服务器网页登录,轻松共享 D-Link DP-302 打印服务器

热门文章

  1. 中南民族大学计算机科学学院转专业,【通知】2018-2019学年学生转专业及专业分流工作...
  2. php中如何滚动文字,HTML_网页HTML代码:滚动文字的制作,制作滚动文字 通过本章前面 - phpStudy...
  3. 阶梯式的岗位技术培训认证体系
  4. Java基础学习总结(168)——为什么推荐在RPC的接口中入参和出参都不要使用枚举
  5. 网站性能测试指标:QPS、TPS、吞吐量、响应时间概述
  6. 系统架构师成长之路(二)
  7. 中修改环境变量_系统小技巧:彻底弄懂Windows 10环境变量
  8. redis常用监控命令
  9. iphone 通过获取IMSI判断运营商
  10. dedecms织梦上传图片302Error错误