C语⾔和C#的区别
C#是三⼤主流OOP(⾯向对象编程)语⾔(C++,Java,C#)之⼀,它与C之间的⼀些差别。
C语⾔诞⽣得⾮常之早,C语⾔的⽬标就是⽐汇编⽅便易⽤,同时不要损失汇编的表达能⼒。所以C语⾔可以看成是“⾼级的汇编”语⾔。C语⾔的源代码基本上可以⾮常容易地对应到汇编代码,⽽且可以不需要什么运⾏时环境的⽀持。C的特点,简单容易编译,灵活贴近底层。所以⼀直到现在,⼀些需要直接和硬件打交道的软件都还是⽤C语⾔写的。总之C语⾔编写简单,更接近底层,直观得管理数据存储。
C#语⾔抽象层次⾼且基本只有⼀种(⾯向对象的),运⾏时⽀持丰富(垃圾回收等),类库丰富。所以它就是好学,易⽤,同时兼顾运⾏效率,尽量优化。C#与Java类似,编译后得到的还不是机器代码,⽽是运⾏在虚拟机中的元指令。它对安全性做了更多的考虑,没有指针,不能直接操作内存,⾃动实现内存管理。
最直观的区别就是:C#没有指针类型,内存⾃动管理;C#有字符串类型,C语⾔没有,靠字符数组或指针来存字符串;C#中switch后可跟string类型,并且会禁⽌所有ase语句的失败情形,除⾮case语句后是空格,否则执⾏了前⼀个case语句就算没有break也会停⽌执⾏后⾯的case语句; C#中定义数组时,数组长度可以是变量,⽽C语⾔中定义时数组长度只能是⼀个常量表达式,动态分配内存需
要⽤到molla函数;C语⾔中没有集合类型;C#有foreach可⽤于数组和集合的遍历等。
总的来说,C语⾔更底层,很多东西都需要⾃⼰DIY,但极其灵活,功能⼗分强⼤,其精华在于指针,直接管理数据存储,⾯向过程编程,很多操作系统和系统软件都是⽤C语⾔写的;C#则更容易上⼿,很多东西都已经写好,直接使⽤即可,避免了内存的直接管理,⾯向对象编程;正如⼀个冷笑话所讲:“C语⾔:指针最好⽤。 C++:最好不⽤指针。 C#:指针是什么?”
=================================================
⼀、难易程度的区别。
c#属于 framework中的⼀个产品,简单易⽤,但开发出来的东西⽬前还需要安装运⾏库才能供别⼈使⽤。c语⾔是⼀种古⽼难⽤的语⾔,⽬前可能在嵌⼊式系统⽤的⽐较多,另外⼤学会有这门课。相关的还有c++,可以做系统的底层开发,也不容易掌握。
⼆、内容上的区别。
C语⾔⾯向过程,开发⾮托管程序,编译成exe是⼆进制可执⾏⽂件,不可跨平台。C#⾯向对象,开发托管程序,编译成exe是中间语⾔,需要
在.NET平台上进⾏⼆次动态编译,之后才能执⾏,可跨平台。
三、特点上的区别。
C语⾔诞⽣得⾮常早,当时⼈们普遍还习惯⽤汇编语⾔编写软件,⽽且没有什么统⼀,通⽤的操作系统,基本上软件都是从0开始写的。C#是⼀种安全的、稳定的、简单的、优雅的,由C和C++衍⽣出来的⾯向对象的编程语⾔。它在继承C和C++强⼤功能的同时去掉了⼀些它们的复杂特性。
===========================================================
c:,太⿇烦,但对硬件的底层编程和对内存的管理的灵活性⽅⾯c是其他⾼级语⾔所不可及的。c++string类型
c#:纯⾯向对象的(跟java很像),是ms framework的主⼒之⼀,它的运⾏是安全的,⾥⾯没有和引⽤,像java⼀样有垃圾回收机制。
语法基本没有区别,⾸先c#不必对指针进⾏太多的研究,然后可遗址性等,其它的区别相当⼤。可以说不是的。
开发环境跟开发语⾔也是两个不同的概念
学习c#并不必须有的基础,不过,如果你学过c语⾔,那会事半功倍的,因为有很多语法是⼀样的。作为初学者,并没有必要先去学习c语⾔,你只需要有c#的完整的就⾏了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论