c#

位置:IT落伍者 >> c# >> 浏览文章

认识在.net开发中几个重要的误区


发布日期:2020年05月14日
 
认识在.net开发中几个重要的误区

net如今已经很流行成为赶时髦的程序员的首选但是大量刚刚接触net的程序员的确存在一定的认识误区这里先介绍一部分

net程序再运行一次就会更快

许多人对此的解释是net程序第一次运行时会被编译成本地代码所以再次运行会更快但遗憾的是其实每次运行那些IL都会被翻译一次不会保留下来所以并不会变快但为什么有时候真的觉得快了呢?其实所有程序都是这样这是Windows再为你缓存用过的组件真正需要CPU时间的程序多运行是不会加快速度的

net程序运行起来一定很慢

由于存在IL被翻译成本地代码的过程net程序的确要消耗一部分时间但是net程序仍然具有很高的效率这一点许多Java虚拟机都比不上这是为什么呢?因为多数net程序内含的代码很少几乎都是调用net Framework中的类库而这些类库在net Framework安装的时候全部编译成为本机优化的本地码并保存在程序集缓存里面有了这个程序集缓存你程序事实上的大部分已经是高效的本地代码所以当然快了但是如果你进行大量数值计算类的操作还是能够感到第一次运算的速度明显下降所以建议大家将计算密集型的程序分离出来编译成本地代码并保存在程序集缓存中三连素材以后使用起来就很快了

C#比VBnet快功能更强大

必须得承认C#编译器和VBnet编译器在处理某些细节上确实有些不同导致两者编译功能类似的程序效率通常会有差异但对于一个编制完整的项目是不会有任何差别的原因是首先VBnet编译器并没有比C#有实质上的缺陷其次大部分代码都是net Framework类库中的代码两者调用起来没有差别至于C#比VBnet功能强大这牵扯到心理学问题VB并不比C#差也没有“语法混乱”“为了兼容而设计”之类传说中的毛病用VBnet一样可以写出出色的结构完美的应用程序而且VBnet也是Visual Studionet唯一的宏语言

这里面还有一个问题着名的Linux下的net——Mono中是否只支持C#?当然不是用VBnet开发出的程序一样可以在Mono中正确运行而且最新的Mono将包含Mono Basic语言这样掌握VBnet语法的人就可以完全在Linux等系统下开发

微软只想推广C#他想放弃VBnet

不要听信杞人忧天的话微软无时无刻不在推广VBnet上用心MSDN上关于net开发的文章用VBnet做例子的比用C#还要多微软还专门推出VB技术节目——VBTV帮助开发者更好地了解VBnet微软在列出Visaual Studio中的开发工具时Visual Basic总是排在第一个——这是微软年来的传统所以担心VBnet会被淘汰的人现在该松口气了

微软用net对抗Java所以我也要支持net反对Java

千万不要有这种想法MS当然想占领Java的市场Sun当然不愿意但这不关你的事哪一方赢了你都不会有实质上的好处还是两个都学吧与其在网上挑起争论不如多学一个本事你马上就会看到回报的

好了从下一次开始将着重介绍技术上的误区祝大家好运

上一篇:C#中调用Windows API时的数据类型对应关系

下一篇:.net通过获取客户端IP地址反查出用户的计算机名