.NET Framework的个人理解

        学习C#的时候感觉目前很重要一个问题就是弄明白.NET Framework到底是什么。虽然C#不局限于.NET,但是我接触到的情况下貌似确实没有别的平台用C#语言了,而且感觉学了好久C#回头才发现.NET到底是什么还不是很清晰,所以现在我先查些资料,也许之后还要有新的补充和改正。

        首先,.NET是微软的托管代码模型,所谓的托管代码(IL)其实和JAVA的虚拟机很类似的,微软搞个了概念游戏,说C#是编译语言而不是解释语言,其实C#的编译跟C++的编译不是一回事,仔细看看,将C#语言“编译”成中间代码(IL)不就是JAVA解释成JAVA虚拟机运行语言么?当然这里细节问题本人还不是很清楚不敢随便下断言,但是有个概念要清楚的是,.NET会为其语言(C#,VB.NET,J#。。。,貌似MFC也会用)提供了运行环境,而不仅仅是功能函数库,也就是说可以把.NET看成一个类似的虚拟机,C#语言对系统资源的操作使用是通过.NET完成的,所以也好理解为什么.NET程序很少直接调用WIN API了。

        其次,.NET Framework完成了资源回收功能(GC),其实这个问题主要是解放了我们写程序对资源使用的管理上的精力,而且在新手时期确实自动的资源回收要比自己来的稳定且效率高,所以C++程序比C# 、JAVA程序效率高那是需要编程者的水平的,没那个水平还是先老老实实从基础学起的好,可能因为我本身就是外专业转过来的吧,所以对基础理论的重要性也许比我身边的人感觉更多点- -!不过不是C#自己手动释放资源没有意义,至少数据流、数据库连接什么的要自己关吧(.NET释放这些接口有延时的)。而且用到C#的指针(确实有指针的)那就跟C++很接近了。

        再者,提到指针就不得不提到安全代码问题,代码的安全性我目前了解的不多(项目经验少啊),但是一个是代码内存的适当释放、规范、防止泄露是其中要考虑的一些问题,我目前觉得C#编程中对应的考虑也就是作用域、类(尤其是.NET或者第三方库中)的安全调用(又是经验!!!)、类型转换等,不过只是考虑这些也比C++要考虑的少好多了。

        目前我的总结也就到这里了,因为目前的学习进度,还没提到XML、Web这些.NET曾经的主要特色(现在都普及了),主要还是自己学习所感所想,自己第一次写博客就写出来,可能还希望有人指出我的错误^ ^



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值