C#、VB.net、J#等语言 是同一个编译器吗? 当然不是。首先语言和编译器无关,其次语言和它编译的目标也无关。严格来说,现在的C#编译器已经是多目标的编译器了,常规代码被编译为IL,但是其实LINQ调用被编译为存储表达式,而C#还可以编译为Sliverlight的运行时支持的中间语言(可以视作IL的精简版)以及本地代码。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IL应该是由CLR中的JIT编译器再次编译成本地代码才能运行的吧, 像你说的LINQ调用被编译为存储表达式,是不是代表着它不再被托管,没有被托管的话CLR就对他不起作用了吧,那它如何在本地执行呢,谢谢,有点乱 IL应该是由CLR中的JIT编译器再次编译成本地代码才能运行的吧, 像你说的LINQ调用被编译为存储表达式,是不是代表着它不再被托管,没有被托管的话CLR就对他不起作用了吧,那它如何在本地执行呢,谢谢,有点乱你可以理解为编译器将抽象语法树保存在了程序中,而没有翻译成最终代码。这些存储的表达式可以被LINQ Provider模块理解和翻译成SQL,而SQL被数据库系统解释执行(在SQL那一端)。当然LINQ Provider并非都是将存储表达式翻译为SQL的,你甚至可以写一个Provider将存储表达式拿到另一台计算机上执行。 WCF 的UdpDiscoveryEndpoint老报异常,急~~~~~~~~~~~~~~~ 帮忙理解下这句话 怎控制控件放在那个TableLayoutPanel的那个单元格中 C#怎样调用WebService返回的数据? 获取YouTube播放频道的问题 如何获得其他程序中控件的数据。 问个简单算法.... 请问《C# primer》是否适合初学者? 设计器的问题,各位大虾进来看看! dataGridView1遍历的问题 C#绘图,已知圆心和半径,如何实现在坐标系上画圆 VS2010设计器报错
你可以理解为编译器将抽象语法树保存在了程序中,而没有翻译成最终代码。
这些存储的表达式可以被LINQ Provider模块理解和翻译成SQL,而SQL被数据库系统解释执行(在SQL那一端)。
当然LINQ Provider并非都是将存储表达式翻译为SQL的,你甚至可以写一个Provider将存储表达式拿到另一台计算机上执行。