博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C#】与C及OC的不同点
阅读量:5926 次
发布时间:2019-06-19

本文共 2803 字,大约阅读时间需要 9 分钟。

事实上熟悉这些语言的朋友们深知,这几个语言全然没有可比性。

因为工作须要,近期须要重温C#语言,难免会受到C和OC的基础知识影响。

此篇是本人的一个学习笔记。仅此献给有C/OC基础,须要继续学习C#的朋友们。

博文首发地址:

今后不断更新。欢迎大家补充修正(最后更新日期:2014.11.6)

 第1讲 基础:常量 变量 运算符 表达式 语句
***** C#提供的基本类型很多其它。划分更细
***** C#里bool类型就是bool类型,严格差别于整形
***** C#中的控制台输入都是字符流。获取其他类型须要用Parse方法转化
int a = int.Parse(Console.Readline());
***** C#的声明与实现不分离
《C#本质论 (第三版)》p.121
 第2讲 分支结构
***** C#里switch case 中 switch表达式的值还能够是字符串类型
 第3讲 循环结构  数组
***** C#的数组本质是System.Array 的对象。

它是全部数组类型的抽象基类型。

必须进行实例化。

声明数组时,方括号 ([]) 必须跟在类型后面。而不是标识符后面,且数组的大小不是其类型的一部分。

如:
bool[], byte[], int[],  float[], double[], string[], 
*****  C#里二维数组和数组的数组(交错数组)是两个东西
二维数组定义:
string[,] names;
交错数组 (jagged array)
byte[][] scores;
http://msdn.microsoft.com/zh-cn/library/aa288453(v=vs.71).aspx
***** C#里数组能够直接赋值,可是和C一样不能直接做加减运算
 第4讲 枚举和结构体
***** C#中枚举不是一个单纯的整形常量
http://msdn.microsoft.com/zh-cn/library/cc138362.aspx
***** C#中的结构体更强大、更灵活。里面能够直接包括方法
***** C#中结构体的成员变量类型修饰符必须是public
结构能够实现接口。但它们无法继承还有一个结构。 因此,结构成员无法声明为 protected
http://msdn.microsoft.com/zh-cn/library/ah19swz4.aspx
 第5讲 引用类型 字符串
***** C#有独特的引用类型。是装箱获得的
值类型装箱后会被扔到堆里
http://msdn.microsoft.com/zh-cn/library/yz2be5wk.aspx
***** C#的字符串是一个类
 第6讲 类
***** C#的类里包括方法、属性、字段、事件、托付以及内部嵌套的类等
http://msdn.microsoft.com/zh-cn/library/ms173113.aspx
一个类可包括下列成员的声明:
(Constructor)
(Const)
(Field)
(Method)
(Property)
(Indexers)
(Operator)
(Event)
(Delegate)
(Class)
(Interface)
(Struct)
***** C#里的修饰符特别丰富、能够修饰好多东西
1.訪问级别、控制有效范围和权限的:public protected private internal
2.控制内存分配区域的:static const
3.声明函数參数的:ref out params
4. 虚实:virtual
http://msdn.microsoft.com/zh-cn/library/9fkccyh4.aspx
***** 訪问权限

在其它选件类中能够直接在命名空间内声明的选件类,未嵌套。能够是  或 。 默认情况下选件类是 internal

类成员,包含嵌套选件类,能够是 、protected internal、、或 。 默认情况下成员是 。

http://msdn.microsoft.com/zh-cn/library/0b0thckt.aspx
***** C#的属性
能够是仅仅写的
在字段的基础上创建,属性开头字母是大写的
***** C#的函数仅仅能在类里面定义
***** C#有密封类
***** C#有base语句
构造函数能够使用 base keyword来调用基类的构造函数。
http://msdn.microsoft.com/zh-cn/library/ms173115.aspx
 第7讲 方法(函数)
***** C#的方法仅仅能出如今类和结构体里
***** C#里有方法签名的概念
方法名 參数 及 參数类型
http://msdn.microsoft.com/zh-cn/library/ms173114.aspx
***** C#的函数參数是有修饰符的
ref:引用參数
out:输出參数
params:一维数组
***** C#通过析构函数释放内存资源
***** C#有虚方法
http://msdn.microsoft.com/zh-cn/library/9fkccyh4.aspx
***** C#中称之为方法签名
 第8讲 面向对象
***** C#中有继承关系的两个类分别叫基类和派生类
当基类将方法声明为   时。派生类能够用自己的实现 该方法。 
http://msdn.microsoft.com/zh-cn/library/ms173149.aspx?sentenceGu=431ef25c6bea78755c146f18e5e213ae#mt9
***** C#的多态比較多态,有多种实现方式
 第9讲 静态类和抽象类
***** 静态类和抽象类是C#独有的
 第10讲 接口和泛型
***** C#的接口类似OC的协议
http://blog.csdn.net/byondocean/article/details/6871881
 第11讲 集合
***** C#的集合分为泛型集合和非泛型集合
http://msdn.microsoft.com/zh-cn/library/yz2be5wk.aspx
 第12讲 托付和事件
***** C#的托付类似于C的函数指针。可是类型安全。已经被封装成了一个类型
***** C#的观察者设计模式由托付和事件来实现
 第13讲 反射
***** 反射是C#独有的

总的来说,感觉C#的修饰符特别的丰富,关于修饰符的内容还在整理中。

本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5331972.html,如需转载请自行联系原作者

你可能感兴趣的文章
Linux指令--rm, rmdir
查看>>
浏览器缓存导致FLASH资源更新问题的解决方案
查看>>
C# 实现retry
查看>>
cheerio制作markDown索引目录
查看>>
iOS深浅拷贝的区别
查看>>
git简单介绍
查看>>
java输出格式-----System.out.printf()
查看>>
Ckeditor插件开发(3.x)
查看>>
程序通过创建线程实现删除自身(转)
查看>>
unicode 和 utf8
查看>>
python公共方法
查看>>
poj - 1988 Cube Stacking
查看>>
【2019-07-03】滴水穿石
查看>>
JAVA学习笔记--迭代器
查看>>
团队介绍
查看>>
如何创建并运行java线程
查看>>
自定义JQuery扩展方法
查看>>
python多线程,event,互斥锁,死锁,递归锁,信号量
查看>>
C++系列总结——volatile关键字
查看>>
使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS
查看>>