C#、Java之比较

很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似

,尽管如此,两者不同的地方也很多,所谓“于细微处见差异”。那么两者的相似和区

别都在什么地方呢?我们从今天开始,会从各个角度来对比C#和Java的特点,希望能对

正在学习、使用C#的朋友有所帮助。

1、C#和.NET平台的概貌

2000年6月,微软发布C#语言和.NET平台。C#语言是一种强类型的,面向对象的语言

,它具有语法简单、表达力强的特点,而.NET平台则是构成微软的“.NET计划”的基石

.NET平台的核心包括两方面,一方面就是著名的通用语言运行机(Common Language

Runtime),虽然这个名词起得晦涩了点,不过大家可以拿它和Java的虚拟机来作比较,

二者完成的任务大致相同;另一方面就是一大堆通用函数库,这些库函数可以被多种语

言调用,并且通过编译都产生一种共同的中间语言(Intermediate Language),这种语

言也可以拿Java的字节码来类比,虽然完成的方式有些不一样。

2、C#和Java

下面简单地把C#和Java的相似处列出来,虽然在这里我们重点讨论的是C#和Java的

不同点,但是了解一下二者的相同之处也是很有必要的。

二者都编译成跨平台的、跨语言的代码,并且代码只能在一个受控制的环境中运行

自动回收垃圾内存,并且消除了指针(在C#中可以使用指针,不过必须注明unsafe

关键字)

都不需要头文件,所有的代码都被“包(package)”限制在某个范围内,并且因为没

有头文件,所以消除了类定义的循环依赖

所有的类都是从对象派生出来,并且必须使用New关键字分配内存

用对象加锁的方式来支持多线程

都具有接口(interface)的概念

内部类

继承类的时候不会以某种特定的访问权限来继承;

没有全局函数或者常量,一切必须属于类;

数组或者字符串都自带长度计算和边界检查;

只使用“.”操作符,没有“->”和“::”;

“null”、“boolean”和“bool”成为了关键字;

任何变量均在使用前进行初始化;

不能使用整数来返回到if条件语句中,必须使用布尔值;

“Try”模块后可以有“finally” ;

csharp与java的区别_C#与JAVA之比较(1)相关推荐

  1. c#和java的区别_C#和java的语法区别

    通过这几天,看java视频,总结了一下java与C#的部分语法区别. 1.基本类型 Java是由byte,short,int,long,float,dboule组成,所有类型都是有符号的. C#除了这 ...

  2. c语言和java的区别_C语言和Java的区别有哪些

    C语言和Java的区别有哪些 作为编程界的两大编程语言-C语言和Java,它们之间有什么不同呢?下面小编给大家整理了C语言和Java的区别,供大家参阅. 1.C语言 C语言是一门通用计算机编程语言,应 ...

  3. python语言与c语言java的区别_c语言和java有什么区别

    区别:1.单文件的编译时间java比C语言快:2.C语言可以直接操作内存,java不能直接操作:3.C语言可以封装动态库,java不行:4.C语言有指针,java没有指针:5.C语言可以直接操作串口, ...

  4. c 与java的区别_C/C++与java的区别

    Java并不仅仅是C++语言的一个变种,它们在某些本质问题上有根本的不同:(1)Java比C++程序可靠性更高.有人曾估计每50行C++程序中至少有一个BUG.姑且不去讨论这个数字是否夸张, 但是任何 ...

  5. js与java的区别,JavaScript与Java的区别是什么呀?

    JavaScript和Java看起来相似,其实这两者是两门不同的编程语言,他们没有任何的血缘关系.下面本篇文章就来给大家介绍一下JavaScript和Java的区别,希望对大家有所帮助. Java和J ...

  6. groovy 和 java的区别_Groovy和JAVA的区别

    这段时间还是比较忙的博客也很久没写了 服务器也到期了一直没续费emmm 由于现在在写groovy的代码 所以这篇简单写点groovy相关的 1.Groovy和JAVA的区别 在Groovy中,将在运行 ...

  7. python和java的区别-Python和Java的区别有哪些?如何选择?

    原标题:Python和Java的区别有哪些?如何选择? 随着人工智能AI的发展越来越快速,很多人对于Python开发技术也是越来越重视,也正因如此,不少人拿着Java和Python进行比较,认为Pyt ...

  8. python和java的区别-python和java的区别,看了这个就会区分了!

    翻看日历,2019年结束也就剩下3个月的时间了!时光飞逝,伴随着互联网人工智能时代的发展,人类一直在预测,2020年什么技术会火?其中,人工智能编程成了大家讨论的热点,Python.Java一直被人们 ...

  9. python和java的区别-python与java区别

    Python和Java都是很火的编程语言,对于想学习编程的人员来说,常常被这个问题所困扰:我是该学Python还是Java呢?想要解决这个问题,还需结合自身实际情况和两种语言的特点进行分析. 以下是P ...

最新文章

  1. IP SOC与Camera ISP
  2. 因为爱情,才有了思科
  3. C# IOThread
  4. JVM规范系列第2章:Java虚拟机结构
  5. 外部网络如何获取网口打印机的ip地址_网络打印机端口用名称好是还是IP好?...
  6. 【Socket网络编程】14. perror()、errno 的使用
  7. 四步法分析定位生产环境下MySQL上千条SQL中的问题所在
  8. maven没有resource文件夹_maven项目中没有resource文件夹的问题
  9. Html前端基础(这些基础标签你必须知道!)
  10. 通过 MySQL 二进制日志恢复删除的记录
  11. 机器学习(2)——K-近邻算法讲解
  12. 计算机组成图解结构图,图解计算机结构与体系分类!!
  13. 计算机开机显示屏幕优化中,联想电脑一开机就出现图像设定屏幕优化中怎样才能取消...
  14. KUKA库卡机器人零点失效维修案例
  15. 78M05-ASEMI三端正线性稳压器78M05
  16. 卸载计算机系统,W7电脑系统如何卸载软件
  17. VBA-API:通过BEEP函数(扬声器)播放音乐
  18. 第14章-1~3 法兰接头预紧力密封接触分析周期对称 (介绍、局部柱坐标系建立、周期对称的设置) Beta选项打开、 cyclic region、symmetry
  19. Selenium原理以及Python从零实现
  20. MySQL 自增序号

热门文章

  1. 常引用、常对象和对象的常成员
  2. sql server序列_SQL Server中的序列对象
  3. sql创建表主键gui_在SQL Server中使用主数据服务快速创建最终用户可以维护的GUI
  4. underscorejs-min学习
  5. 实现List按与一个字符串的相似度和字母顺序排序(适用于模糊查询后的排序)...
  6. [LeetCode]Plus One
  7. UITextView模拟UITextField 设置Placeholder属性 --董鑫
  8. 华为内部狂转好文:有关大数据,看这一篇就够了
  9. android下实现4分屏播放4路高清h264格式的rtsp流
  10. 每天进步一点点_抽奖程序