首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

VB和C#之间,你为什么选择了C#该如何解决

2012-03-15 
VB和C#之间,你为什么选择了C#?很多时候我也在想为什么要学习C#。VB其实都已经满足我的要求了。所以想知道各

VB和C#之间,你为什么选择了C#?
很多时候我也在想为什么要学习C#。VB其实都已经满足我的要求了。所以想知道各位大侠们的答案。

============================
您为什么选择C#,而不用VB呢?
=============================

[解决办法]
C# 语法 更合乎 我的 思维 习惯 。。。感觉 vb 生硬 。
[解决办法]
够用就好,呵呵,没什么的

我有时候也喜欢用VB开发些小东东,开发大系统相对来说还是用.NET好,容易维护
[解决办法]

VB code
fuctionend fuctionif end iffornext
[解决办法]
接触.net的时候我已经脱离vb6快半年了...
[解决办法]
引用楼主 yongyue 的帖子:
很多时候我也在想为什么要学习C#。VB其实都已经满足我的要求了。所以想知道各位大侠们的答案。

============================
您为什么选择C#,而不用VB呢?
=============================

[解决办法]
好学吧
[解决办法]
其实最开始是学vb入门的,后来大学开了C语言,就一直跟着C系的语言走了。
所以后来学了C#。
[解决办法]
探讨
说来说去还是delphi.net太不争气,borland死于一帮蠢猪之手

[解决办法]
探讨
引用:
说来说去还是delphi.net太不争气,borland死于一帮蠢猪之手



win32 下 , delphi 强的不得了.

[解决办法]
探讨
C#是微软为.NET量身打造的语言,也是微软拿来抗衡JAVA的主推技术,就这么简单!
VB嘛,注定要被淘汰的产品。

[解决办法]
学校学的,没什么选择权~!
[解决办法]
其实很简单...随便从MSDN里找了个示例对比一下...

C#简洁明了,少打好多字,时间就是金钱...代码可读性也非常好,而且符合C系语法习惯...
VB.NET code
    Public Shared Sub PrintValues(myList As IEnumerable, myWidth As Integer)        Dim i As Integer = myWidth        Dim obj As [Object]        For Each obj In  myList            If i <= 0 Then                i = myWidth                Console.WriteLine()            End If            i -= 1            Console.Write("{0,8}", obj)        Next obj        Console.WriteLine()    End Sub 'PrintValues
[解决办法]
好多人都说是喜欢C#简洁明了,少打好多字,节约时间

其实vb.net的代码可读性更好,看见end if就知道和if匹配,如果看到一个}要一眼看出和那个匹配还是要费点眼神的。
少打好多字也不太成立,现在的ide明显vb.net比c#的代码提示要好,一般只要打第一个字符,都可以补全了,而且比如定义变量,c#要先写好类型的第一个字符,很多情况下,不知道第一个字符是什么,还的打快捷键才能选择,vb.net里定义变量,非常顺手的as一下,全部类型都出来了,况且{}需要小拇指去打,打不快的,vb里,如果输入一个do 自动补全do while 和loop,我相信肯定是打do比打{要快点多吧。

其实很多c#的程序员从来就没有正眼看过vb.net,根本就不了解vb,更没有使用过vb,何来比较一说,在他们眼里vb从来就是一个玩具,殊不知vb早已进化为和c#平起平坐的net语言重要的成员,可还有人说VB是面向过程的,唉。

新版的C#4,加了一些可选参数等等功能,可这些vb早就有了,有些lambda 表达式虽然vb没有,不过匿名委托还是一样可以用的,只是看着多几个字符而已,功能并不缺。
[解决办法]
我们来看看楼上举的例子吧

Public Shared Sub PrintValues(myList As IEnumerable, myWidth As Integer)
public static void PrintValues(IEnumerable myList, int myWidth ) {

sub比void短,还少一个{, vb的变量需要一个As,不过这样就不用考虑类型名称的首字符和打快捷键,Integer比int长,不过输入int按tab已经可以补全

Dim i As Integer = myWidth
int i = myWidth;
少一个;号,同样的原因,类型定义后置,看着字符多,其实更方便。

Dim obj As [Object]
For Each obj In myList

foreach ( Object obj in myList ) {
这里vb也是可以合并成一句的,而且不应该有Object加[]的情况,不知道为什么加上?


For Each obj As Object In myList
比c#还少很难打的一个()和{ ,

If i <= 0 Then
if ( i <= 0 ) {
还是少一个难打的()和{ 多一个then

i = myWidth
Console.WriteLine()

i = myWidth;
Console.WriteLine();

少两个分号

End If
}
都能自动补全

i -= 1
i--;
对于加1减1,vb确实没有提供,不过这行代码都是4个字符

Console.Write("{0,8}", obj)
Console.Write( "{0,8}", obj );
少一个分号

Next obj
}
都能自动补全,vb中的obj可以不写的。

Console.WriteLine()
Console.WriteLine();
少一个分号


End Sub 'PrintValues
}
都能自动补全。

热点排行