c#简介

本人只学过一门高级语言,php了解一点,所以不好评价,而最令人疑惑的莫过于C#和.Net了,这两个是什么关系,或者说其他的高级语言会不会也有一个附带的东西?这个我不知道,我按自己的了解是,c#是运行在.Net framework这个平台的一种语言,而这个平台他支持多种语言,如c++,vb什么的,然后他也是跨平台的,至于为什么以前写出来的东西不能跨平台,我也说不清,只知道现在.Net core写出来的东西可以跨平台,而我们c#写出来的东西是托管在.net framework这个东西上面运行的,所以c#是一门托管的语言,会自己回收内存。

举个例子,比如我们用c#写了一个控制台程序,而计算机要运行这个程序,是需要运行二进制代码的,所以我们写的程序都要编译出来,当我们用vs编译我们写好的代码,这些代码会转换成为CIL(通用中间语言,可能就是这个东西才可以跨平台吧)保存在程序集里面(具体就是exe和dll文件),然后当我们运行这些文件的时候,会用JIT编译器来工作,真正编译成本机代码来执行,而本机代码是要在.Net Framework的CLR(公共语言运行库)上面运行。

整个流程大概就是这样,这里我感觉我们平时写代码,调用的底层库就是来源于这个.Net framework,而由于以前的这个库只有windows版本的,所以就只能windows了,但是其实还有一个mono的.net framework版本可以运行在其他平台, 而现在.Net core,你去微软官网下载,这个运行时就有多个平台版本的,所以我们只要在不同平台装不一样的运行时环境就可以实现一个代码多个平台运行了,本人的愚见就是这样,以后我看了更多这方面的书籍在深入说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值