c#与c等基础部分的比较
来源:互联网 发布:好的代理软件 编辑:程序博客网 时间:2024/05/22 15:47
一、数据类型
①整型有:sbyte(8)、byte(8)、short(16)、usho(16)、int(32)、uint(32)、long(64)、ulong(64)。浮点数除float、doub(精度15到16位)外,还增加了decimal(精度为27到28位),常用于表示金钱。布尔型为bool,且只能赋为true或false,不能与整型数据相转换。
②引用类型:类、委托(代表)、接口、数组。
③变量和常量:常量只能为整型、浮点型、string型、字符型、布尔型,使用const声明。
④数据类型转换:隐式和显式转换都要求两种类型能相兼容。
⑤装箱与拆箱:值类型→引用类型——装箱,引用类型→值类型——拆箱。
二、运算符
+、-、*、/、%、>、<、>=、<=、==、!=、&&、||、!、? :、is、as、位操作符、赋值及符合赋值运算符、new(用于创建对象、数组、代表)、typeof。
说明:&&、||执行的是短路与和或。字符串使用+表示连接。delegate类型使用+、-表示方法的合并和移除。枚举类型使用+、-表示对应数值的加减。字符串、枚举及delegate类型对比较运算符而言只能使用==和!=进行判断。e is T:e是否为T类型及其子类型,返回值为bool型。e as T:将e强制转换为T类型。typeof:获得系统原型对象的类型,返回值为Type类类型。
三、标识符及注释
标识符:由数字、字母和下划线组成,不能以数字开头,不能为关键字。
注释://单行注释;/*……*/多行注释;
///<sumary>
///常用于对方法的注释说明
///</sumary>
///<param>……</param>
#region……#endregion:指定可展开或折叠的代码块
四、流程控制语句
if……else:if子句和else子句都可再嵌套if……else子句。每个else与离它最近的if配对。
switch……case:用于对整型、字符、字符串、枚举型的相等判断。每个case后必须有break。但也允许多个case共用同一语句块。
while(条件){循环体}:先判断后执行,当型循环。
do{循环体}while(条件);:先执行后判断,直到型循环。
for(初始化;条件;循环修正):已知循环次数的情况,属while的变形,可与while相替换。
continue:跳过continue后的语句,继续执行下一次循环。
break:中断本层循环,用在switch中表示跳出switch。
foreach(类型 变量 in 数组或集合):用于对数组或集合进行遍历。
多种控制语句之间可以相互嵌套,如if中可嵌套while语句等。
五、编译预处理
#define 符号:符号定义语句,所定义符号的作用域是该定义所在的整个文件。
#undef 符号:符号定义取消语句。所定义符号的作用域是该定义所在的整个文件。
符号定义和取消必须放在所有其它语句的前面,或者说是放在所有“实代码”的前面。
条件编译格式(在程序中出现):
一条#if语句(必须有)
零或多条#elif语句
零或一条#else语句
一条#endif语句(必须有)
#if 符号:表示如果“符号”定义了就执行,可以使用与(&&)、或(||)、非(!)进行判断。例如:#if A 表示如果用#define A定义了符号A,则执行其中的代码。
#if A&&B 表示如果符号A和符号B都都定义了,则执行代码。
#elif 符号:“else if”
#warning 一句话:发出编译的警告信息。
#error 一句话:发出编译的错误信息。
- c#与c等基础部分的比较
- C#与VB的基础比较
- C#与C/C++部分基础语法差异
- 比较C#与C++、Java的异同
- C++,C#的比较
- C#基础与VB基础比较
- object-c 与 java,c#等语言的 语法区别
- C# 与 C 、 C++ 、 D 、 Java 的性能比较(一)
- C# 与 C 、 C++ 、 D 、 Java 的性能比较(二)
- C# 与 C 、 C++ 、 D 、 Java 的性能比较(三)
- C++,C#与JAVA实现多态的比较
- [C#] C#与JAVA的一些语法比较
- C#与Java基础语法初比较
- FORCAL与C/C++、MATLAB、Python、Lua等各种语言的速度比较
- Lu与C/C++、Forcal、MATLAB、Python、Lua等各种语言的速度比较
- C#与C++、Java之比较概览
- C#与C++、Java之比较概览
- C# 与 C 和 C++ 比较
- 剑指offer-面试题18-树的子结构
- LeetCode : Add Binary
- 工业相机标定相关知识整理
- sed工具
- SSM杰信商务平台项目day03
- c#与c等基础部分的比较
- PMS运行时的一些规则
- Springboot小工具学习
- USB wifi模块mt7601U移植至imx 6q android 6.0平台
- mysql 之 jdbc 连接数据库
- 防止页面被撑开的方法
- 游戏服务器之性能统计
- 多线程学习笔记(三)之单例模式中的线程问题
- SQL基础语句