我试图弄清.NET框架中不同语言之间有多少重叠,以及实际差异是什么。库/方法/函数是否有重叠?如果我在谷歌上搜索VB .NET的问题,是否会出现C#答案?对于与C#相关的信息,我应该注意哪些差异/不兼容性?
差异:例如 Visual Basic 的传统库。请查看 Hidden VB.Net-Features 和 Hidden C#.Net-Features 获取独特功能的好汇编。
重叠:Intermediate Language。在那里,您将找到所有 .Net 特性的组合,并且这些语言此时都是相等的。
我知道这并不是直接回答你的问题,但有许多免费的VB.NET <> C#翻译器可供使用。因此,如果你遇到一些C#代码,并且需要将其转换为VB.NET,你可以使用翻译器进行转换。
搜索“vb.net c# translator”会得到以下几个结果。
http://www.carlosag.net/Tools/CodeTranslator/
http://www.developerfusion.com/tools/convert/csharp-to-vb/
http://authors.aspalliance.com/aldotnet/examples/translate.aspx
警告一句,像所有的机器翻译一样,结果应该被仔细检查。然而,话虽如此,它们可能会做得足够好,让你开始并克服最初的障碍。C#和VB在语义上非常相似,只有一些不太重要的非语法差异。F#,Powershell,Ruby和Python则有所不同。 F#是一个有趣的例子:基本上每个C#功能都映射到F#中的某个东西(有时以巧妙的方式),但F#具有自己的特性,例如代数数据类型-这些确实映射到CLR构造,但我会将它们归类为“语义糖”而不是“语法糖”。