关于.NET的2个基本但有趣的问题

B.G*_*ill 16 .net c# windows

当我第一次看到C#时,我觉得这肯定是个玩笑.我开始用C语言编程.但是在C#中你可以拖放对象,然后只为它们编写事件代码.这很简单.

现在,我仍然最喜欢C,因为我非常喜欢基本的低级操作,而C只是下一级汇编程序,几乎没有基本的例程,所以我非常喜欢它.更多是因为我为微控制器编写了很少的应用程序.

但昨天我在asm中为基于微控制器的LED立方体编写了非常简单的控制程序,我需要一些方法来简单地为Cube创建动画序列.所以,我记得C#.我几乎没有C#技能,但我仍然创建了简单的程序,用GUI在大约一小时内完成动画序列,只需谷歌的帮助和C#中嵌入的功能描述的帮助.

那么,为了达到这一点,还有其他原因,那么最高速度,使用除C#之外的任何其他语言?我的意思是,它是如此有效.我知道Java有点类似,但我希望C#更直接来自微软,因此更有效.

第二个问题是,编译成CIL,而不是运行CLR,直接将其编译成机器代码有什么好处?我知道可移植性是一个,但由于C#主要用于Windows,直接编译它不会更强大吗?谢谢.

Gis*_*shu 10

1 - 差异语言各有利弊.有一系列语言(功能,动态,静态等)对特定问题域更好.您需要在每个家庭中学习一个,以了解何时选择哪一个.例如,要写一个简单的脚本,我会选择Ruby over C#

2 - 将其编译为CIL:可移植性可能不是什么大问题......但准确地说,Mono在Linux上实现了CLR.所以那里.此外,CIL可帮助您在CLR上运行的语言之间进行混合和匹配.例如,IronRuby可以访问用C#编写的标准框架库.它还使CLR能够利用运行程序的实际硬件(例如,打开优化,使用特定指令).两台机器上的CLR将为相应的机器生成来自相同IL的最佳本机代码.


spo*_*son 5

语言和平台选择是项目目标的一个功能.听起来你喜欢系统级编程,这是使用C/C++的优点之一.因此,如果这是您喜欢的,请继续编写系统级代码.

使用C#编写代码在快速业务应用程序开发中非常有用,其目标本质上是不同的.更快地编写好的工作代码在工时和上市时间都是值得的.微软帮助我们提供了一种富有表现力的语言和坚实的功能框架,这使我们无法为95%的业务需求编写低级代码或工具.


Chi*_*joo 5

IL的一个重要优势是语言独立性.您可以在项目中定义应该在C++中完成的模块,一些在C#中完成,一些在VB.net中.编译时所有这些项目都给出了相应的程序集(.dll/.exe).这可以在c#one中使用C++项目的程序集,反之亦然.这是可能的,因为..无论您选择哪种语言(.net支持)..都编译为相同的IL代码.