Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Silverlight-C和VB.net事件处理程序之间是否存在性能差异?_C#_.net_Vb.net_Silverlight - Fatal编程技术网

C# Silverlight-C和VB.net事件处理程序之间是否存在性能差异?

C# Silverlight-C和VB.net事件处理程序之间是否存在性能差异?,c#,.net,vb.net,silverlight,C#,.net,Vb.net,Silverlight,作为.NET和Silverlight的新手,我注意到Silverlight Tim Heuers博客、Silverlight TV等的许多教程都是用C编写的。我知道VB和C之间的一般区别通常是偏好 然而,我注意到的一个主要区别是C和VB.NET处理事件的方式。这仅仅是一个语法上的差异,还是其中一个经过优化以更好地处理事件?例如,它们都被编译成相同的中间语言,但是生成的代码是相同的吗?鉴于Silverlight在很大程度上依赖于此,我认为这可能值得考虑 考虑到本论坛的专业知识,我想知道是否有人对此

作为.NET和Silverlight的新手,我注意到Silverlight Tim Heuers博客、Silverlight TV等的许多教程都是用C编写的。我知道VB和C之间的一般区别通常是偏好

然而,我注意到的一个主要区别是C和VB.NET处理事件的方式。这仅仅是一个语法上的差异,还是其中一个经过优化以更好地处理事件?例如,它们都被编译成相同的中间语言,但是生成的代码是相同的吗?鉴于Silverlight在很大程度上依赖于此,我认为这可能值得考虑


考虑到本论坛的专业知识,我想知道是否有人对此进行过研究或性能测试。

他们都被编译成IL或Silverlight字节码,应该执行完全相同的操作。任何差异都应该是语法上的。

生成的代码可能与指令不完全相同,但总体效果是相同的。您不应该在这方面看到性能差异


VB.NET有两个事件语法-AddHandler(与C的+=)和Handles(只是构造函数中AddHandler的语法糖)。

请注意,某些语言中有其他语言没有的语言功能,因此不会有相同的IL。就像C的foreach和VB.Net的Select Case一样,它主要是一个开关,但它允许每个Case使用表达式,而不是constants@Corey在你看来,C的foreach有什么特别之处?我确实收回了这一点,在研究之后,发现VB也有它。我认为在某一点上,C有,VB没有…@Corey只是作为旁白,甚至VB6也有For-Each语句,所以VB在C之前就有了。VB已经采用了以前C版本的一些其他功能。我希望C能快点在switch语句中获取表达式。你是在问调用处理程序的方式是否有差异吗?谢谢,这才是我真正感兴趣的。我不确定IL结果是否相同,只是它们是否兼容。Handles关键字实际上为属性设置程序创建了代码,该属性设置程序将事件处理程序添加到对象中/将其从上一个对象中删除。