|
|
1
33
C和vb基本相同,但存在一些细微差异。除了明显的语法差异之外,您还有以下差异:
C的语法遵循类似于C和Java的语法,这使得它从那些语言过渡得更加舒适,因为VB可以让VB用户更舒服。至于性能,以及库或组件,它们几乎是相同的。 至于选择哪一种语言,除非你需要做不安全的操作,那么选择你最自然的语言。在成为一名VB开发人员多年后,我喜欢不必写如果Yadada那么……如果(Yadaya)……结束如果(Yadaya)保存我的腕管一些额外的按键(然后可以用来回答这样的问题) 编辑刚刚了解到btw c和vb的另一个区别是vb支持过滤异常,因此您可以使用类似于伪的方法:
这不应与以下能力相混淆:
在这种情况下,您将在VB世界中以不同的方式处理异常,您可以定义一段代码来处理多种类型的异常。 编辑还有一些差异。
C.*
VB
|
|
|
2
21
我认为Kathleen Dollard的这篇博客文章对这个问题提供了一个极好的概述: What a C# Coder Should Know Before They Write VB 她的第一个建议是:
|
|
|
3
15
极客之间的街头信誉。 (不要假装这不重要!) |
|
|
4
11
其他人已经涵盖了很多不同之处——正如已经说过的好几次,他们 几乎 等效语言。据我所见,还未涵盖的一些差异: VB9具有:
C 3有:
我怀疑还有更多的,但我想我只是把它们混在一起。 |
|
|
5
9
当你遇到一个问题时,你通常可以通过谷歌搜索一个代码示例,它显示了如何在几分钟内解决问题。这是提高生产力的一个重要因素。当我使用Delphi时,我必须将C中的代码样本转换为Pascal-Doable对象,但是很冗长,也就是说有很多摩擦。所以不要低估这样一个事实… 绝大多数.NET代码示例都是C! |
|
|
6
5
在vb.net的早期版本中,差异更为明显,但与当前版本相比,没有显著差异。 VB直接在代码中支持XML文本,这是C_所不支持的。C支持不安全的代码,而VB不支持。从技术上讲,这两个是最大的区别。有许多小的变化,但它们并不重要。我更喜欢C,因为我认为语法不那么臃肿。很容易识别代码块,而不是看到一堆关键字,但这是纯粹的个人偏好。 选择你和你的团队更熟悉的那个。 |
|
|
7
4
vb.net有一个根命名空间,c有一个不同的默认命名空间。因为当你在vb.net中有一个根名称空间时,它总是将它添加到名称空间之前。 例如:如果在vb.net中有一个名为namespace1的rootnamepsace,然后将其添加到文件中。
然后您必须将其称为namespace1.namespace1.class1 在C中,如果您的文件中有一个名为namespace1的默认命名空间。
然后您仍然可以将其称为namespace1.class1 |
|
|
8
3
我最喜欢的C的特性是vb没有的yield语句。它允许您轻松地从方法返回经过惰性计算的IEnumerable。 这里有一篇文章介绍了它: http://msdn.microsoft.com/en-us/magazine/cc163970.aspx |
|
|
9
3
VB对错误有更好的反馈。在C中,您必须更频繁地编译以获得语法中的所有错误。 |
|
|
10
3
我看到C的最大优势是绝大多数开源项目、示例代码和博客片段都是用C编写的。虽然用工具(或你的脑袋)很容易将它们转换为vb.net,但对于vb开发人员(像我一样),这仍然是一项单调的任务。 即使你每天都在用vb.net写,你仍然需要能够读C。# 从技术上讲,它们共享相同的框架、相同的性能和内存特性以及相同类型的系统,因此我发现很难将两者分开。 大多数优秀的开发人员应该能够在几天的调整时间内在两者之间切换。 我的核心节俭在于我写了数百篇文章:
想知道为什么它从不编译! |
|
|
11
2
在C中,您可以对事件/委托进行更精细的调整控制。但你很少需要这个。 还有很多关于C的代码示例。 在vb.net中,使用后期绑定要容易得多。例如COM对象(在4.0版的C_中)。
一旦我对f有了更好的了解,我可能会将其用于f更适合的零件。 |
|
|
12
2
没有区别,尽管vb历史上在循环中使用了一个奇怪的索引,这意味着大多数时候必须从最高索引中减去1:
尽管我怀疑这会影响 任何 可测量的方法。 另一方面,由于后台编译的原因,vb实际上似乎在编译 更快 . 有人说这会让IDE反应迟钝,但我从未注意到自己。
在一些情况下,C
对战
除此之外,VB还不能做到这一点,而且在这个地方的评论是被禁止的,这只是更混乱,通常是一个不可行的。
相同的。
不重要。__Street Cred__?对不起的。不是一个因素。过来,尼克。
或多或少是相同的。我声称vb更容易,但这可能有偏见,无论如何,它只是边缘。 |
|
|
13
1
据我所知,语言之间存在差异,尽管它们是最小的。我建议使用您/您的开发人员认为最适合的语言。如果他们已经有了vb的经验,那么我建议vb.net/反之亦然。 尽管我个人更喜欢C的简洁语法。:) |
|
|
14
1
由于C和VB.NET都编译为MSIL,因此它们的性能、功能、库和组件几乎相同。反射可以将MSIL代码分解为C或VB.NET(或许多其他语言) 这基本上让我们看到,C看起来很像Java和C++,这给了它更多的可信度。 |
|
|
15
1
我认为乔希对语言差异做了很好的总结。 工装支架 然而,在Visual Studio处理这些语言的方式上也存在差异。 代码片段在C编辑器中更容易使用,重构也更好。 VB编辑器通过始终不显示所有选项来简化IntelliSense。 我相信还有更多的事情,但这些是我作为一个C er(做很少的vb)已经注意到的。 |
|
|
16
1
这是另一个尚未在这条线索中涉及的问题: 更高的就业能力+更好(更多)的开发资源 然而,我不同意这一观点: 有更多的c dev商店,vb商店 如果你使用VB的能力更强,一些落后的C雇主会让你处于严重的劣势。所以也许C是更好的选择。 另一方面,当你为你的“C”项目雇佣员工时,你将能够吸引更多的应聘者到ITerview并获得更好的技能,因此“我认为细节不应该被忽视”。 |
|
|
17
1
我不得不说,在使用谷歌搜索示例或文档时,我的经验是,C示例比VB示例质量更好。这并不是说没有坏的C例子,但是如果你搜索类似“字典下拉”的东西,添加C会在列表中提供更高质量的答案。 这不适用于并排显示C和VB代码的示例。 |
|
|
18
0
目前,vb.net对lambda表达式的实现非常差。也就是说,你不能像C那样做那些整洁的事情。嗯,你可以,但在大多数情况下,它需要一个非常丑陋的解决方案。 这是在vb.net 10.0中解决的。 |
|
|
19
0
没有旧的cruft,c中的数组声明没有用额外的元素填充。vb.net数组中填充了额外的元素,因此旧的vb6代码迁移更容易。 C比vb.net更一致
当一个学生问我何时在vb.net属性上使用括号时,我无法给出答案。很难对这种错误做出有见地的解释。 与实例和静态成员的一致性。vb.net允许访问实例上的静态成员,例如yarn.sleep(1000),这是一种错误的功能。 https://stackoverflow.com/questions/312419/language-features-you-should-never-use |
|
|
Mear1628 · vb.net从随机选择的端口号接收UDP 8 月前 |
|
|
user1946932 · .Net正则表达式在所有字符前添加空格 9 月前 |
|
|
user1946932 · 正则表达式:删除连续两个以上的<br>? 1 年前 |
|
|
Josh · 通过反思访问孩子的财产 1 年前 |
|
|
Khu RJ · 更新网格中的单元格-DevExpress网格控件 1 年前 |
|
|
Mick · VB.NET Regex。替换不起作用(数组未更新) 1 年前 |