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

解决方案 »

  1.   

    C# 语法 更合乎 我的 思维  习惯 感觉 vb 生硬 。
      

  2.   

    够用就好,呵呵,没什么的我有时候也喜欢用VB开发些小东东,开发大系统相对来说还是用.NET好,容易维护
      

  3.   


    fuction
    end fuction
    if 
    end if
    for
    nextVB代码是不是太丑了点??
      

  4.   

    说实话 C# 看着舒服,写着也舒服,写法很类似JaVA
    VB,我看了就头疼,
      

  5.   

    接触.net的时候我已经脱离vb6快半年了...
      

  6.   

    VB 伪代码
    C#比VB更容易快速开发,快速上手
      

  7.   

    其实最开始是学vb入门的,后来大学开了C语言,就一直跟着C系的语言走了。
    所以后来学了C#。
      

  8.   

    编程语言 , C 系的代码看起来舒坦.vb 的代码象是怪胎.
      

  9.   

    用来用去,还是c的语法最简练,{}看起来更顺眼点,就c#了,
    不过delphi的object pascal也不错,如果ms能把delphi集成.net里去的话我就不会转c#
      

  10.   

    说来说去还是delphi.net太不争气,borland死于一帮蠢猪之手
      

  11.   


    win32 下 , delphi 强的不得了.
      

  12.   


    那是,而且纯本地代码,不用装框架,拷贝到哪都能用
    www.delphi.ktop.tw.com上说delphi2010测试出来了
    http://delphi.ktop.com.tw/board.php?cid=32&fid=107&tid=98111http://www.delphifans.com/InfoView/Article_4677.html
    1. Delphi.NET 将支持AOP,而很值得高兴的,VCL.NET还在继续进步,它并没有被放弃
    2. 调试器环境模拟,Delphi2010的调试器可以模拟出Win98至Win7的环境对一个程序进行调试,换言之,对于平台兼容性的测试,将不再需要测试者安装许多操作系统
    3. 一些改进的特性,来帮助更快的编写代码,自动代码生成框架(只是听说,未看到演示)
    4. 代码编辑器可以自己设置颜色,ORZ比如说integer原本是黑的,现在可以自己设置,也可以把string改成不带高亮的,基本上能够附合各类人对代码高亮的需要
    5. 更智能的代码完成功能(不过从演示上看不出哪里“更智能”,可能要等实际开发才能体验到了)
    6. 类似于JavaDoc的DelphiDoc,相当有用的功能,敏捷开发必备
    7. 编译时可以自动压缩EXE,这个功能也许能让我摆脱编译后用ASPack压缩的麻烦
    8. 程序加密,防改功能(不知如何实现的,但是看演示,程序被非法修改后,不能运行)
    9. 支持带加密的Web Service,很强大的功能,终于可以用Delphi直接调用.NET或Java开发的WSSE了
    10. 一些DataSnap的改进,针对新的DBX做出修改
    11. JSON可能会被删去(实际上JSON在Delphi的确没有多大的实用性,凭空增加代码量)
    12. 集成了一个类似于VS2008的类浏览器,用户可以在Delphi经典类视图和VS2008视图之间切换
    13.Windows7下完美运行,集成了Windows7的新增API
    14. 传说中的RTTI加强,public,published下的成员可取得
    15. 类似于.NET的XML类序列化(个人感觉,桌面程序不推荐使用,原生程序的效率比.NET快得多,可用的地方在Web Service等需要传递类的地方,序列化之后压缩传输)
      

  13.   

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

  14.   

    说这种话的压根儿就被搞明白C#、VB和.NET是什么关系,连Java是什么都没搞清楚...
      

  15.   

    其实很简单...随便从MSDN里找了个示例对比一下...C#简洁明了,少打好多字,时间就是金钱...代码可读性也非常好,而且符合C系语法习惯...
        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   public static void PrintValues( IEnumerable myList, int myWidth )  {
          int i = myWidth;
          foreach ( Object obj in myList ) {
             if ( i <= 0 )  {
                i = myWidth;
                Console.WriteLine();
             }
             i--;
             Console.Write( "{0,8}", obj );
          }
          Console.WriteLine();
       }
      

  16.   

    我也想选C#...但不懂..只懂VB....
      

  17.   

    C#类似C++ JAVA 更面向对象化
      

  18.   

    不习惯vb的语法我觉得c#简洁些
      

  19.   

    好多人都说是喜欢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没有,不过匿名委托还是一样可以用的,只是看着多几个字符而已,功能并不缺。
      

  20.   


    呵呵,个人看法,我到觉的,看到VB的语法,让人很不自在, 写一大堆,还要ENd If,烦燥,没有大括号,来的简单,和好看, 
    智能提示,不一定非得打第一字符才会提示的,IDE用的不熟吧,
      

  21.   

    我们来看看楼上举的例子吧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
      }
    都能自动补全。
      

  22.   

    智能提示,不一定非得打第一字符才会提示的,IDE用的不熟吧,要定义一个变量,c#的类型要写在前面呀,不打第一个字符要按快捷键吧,快捷键应该没有vb的方便吧,vb可以先不管什么类型,打dim 变量名 as 这些都是固定的,as后自动跳出选择的,这样不过更符合思考习惯?
      

  23.   

    我不知道为什么会认为c更符合思维习惯,其实应该c#更符合机器的思维习惯,而不是人的。比如变量类型前置,一般总是说什么是什么,a是一个整数,说 整数a 就过于抽象缩略了
    比如函数返回值前置,函数按一般的思维习惯,应该是先给他参数,然后有返回,哪有先确定返回类型,后给出参数类型的思维习惯的。
      

  24.   

    他娘的,很多公司都要求会c#,没几个要求用vb及vb.net,只好含泪弃之了
      

  25.   

    其实vb.net的问题在于关键字比c#多而且长,会埋没掉自己写的代码,看着好像都是关键字,一眼看去找不到自己写的代码,而c#的关键字都是{},忽略掉后基本上都是自己的写的代码了,一目了然。这个确实是萝卜青菜各有所爱的了,vb.net像语文,一篇文章,读起来好听,c#像数学,一个公式推导,看起来清晰,要读的话,{、}一下子就能把听的人思维弄混
      

  26.   

    但是C#开发出来的东西必须在.NET环境下运行,不能制作成绿色版的小软件,什么都要安装环境
      

  27.   

    搂住未必问的是vb.net 与 C#的比较,而是vb6.0 与 c# 的比较。
    vb.net 和 c# 都在.net 下,本来差别就不大。vb6.0和c#的差别就大了,因为c#后面有 .net 撑腰
      

  28.   

    搂住未必问的是vb.net 与 C#的比较,而是vb6.0 与 c# 的比较。 
    vb.net 和 c# 都在.net 下,本来差别就不大。 vb6.0和c#的差别就大了,因为c#后面有 .net 撑腰======================我主要是针对回复,很多回复都是针对语法问题,而基本语法vb6和vb.net并没有区别。
    vb6.0 =》 c# 这两个东西都不是一个时代的东西,这个不知道是楼主是对语言还是对平台?对语言,本身编程语言就很多,还在不断冒出来,新的总比旧的好,对平台,那clr的意义一句话也说不清楚咯
      

  29.   

    感觉C#的书多一点,假如VB也有这么多的资料,我当初一定是选择VB,用VB写速度更快.
      

  30.   

     一句話,說真的,vb代碼格式難看,不那麽清析.C#格式有點類似c,我是一開始就接觸C,所以看起來容易些!!
      

  31.   

    毕业前搞C++,毕业出来就用C#了,没办法,公司用C#,现在C++全忘没了。
    说实话,C#超好用,和VB一样可以快速开发,挺吸引人。
      

  32.   

    你是在问C#和VB6?还是在问C#和VB.NET?
      

  33.   

    能精简的地方 C#都做到了
    VB还有很多有歧义的地方  如方法  的调用  
    A a=new A();
    A.sum()或 A.sum 都可以 这在C#中试行不通的··
      

  34.   

    1.vb.net中没有发现C#中的using System.Data;这种东西,  可能在哪里藏着,但是没有C#的直观
    2.靠原来asp的经验,想把代码迁移到vb.net,发现很多地方已经不同了. 比如adoconnection  adorecordset等.
    与其这样,还不如放弃vb.net,学c#.net,  1.流行 2.语法合理,用着舒服 3....1)个人感觉.net 2005还是花了很多功夫的,比2002,2003要强很多,尤其自带的一个web服务器,很方便.非常鄙视java的tomcat
      服务器,动不动就要重启调试.
    2)调试功能非常强大,能使开发效率大幅提高. 找遍了所有能调试asp,js的工具,没有一个用的爽的,直到找到.net 2005
      感觉就好像是win32下的delphi一样用着舒服.单这两点,就足够吸引我使用它了. 个人感觉.net的服务器端组件是毒药,我目前的想法是走前台+css+js ,后台使用aspx,
    两者之间用ajax实现通信. 这样就非常类似于以前的win32程序开发了.
      

  35.   

    C#的for循环很灵活第三个表达式步长可以用乘除,而VB只能用加减。
    还有很多很多...
      

  36.   

    招聘的大多数都是C#,,很少有VB.NET的...
      

  37.   

    我是在java和c# 之间选择了后者
      

  38.   

    最关键的问题是 c#现在很流行 很多开源控件都是c#的  vb的少而又少。
    c#在winform 和winweb上都很有作为。 vb虽然出了vb.net 但是你想 谁还会对一个已经要打入冷宫的语言有多好的支持。
    谁用谁知道啊
      

  39.   

    我记得在有本书中提到过 C#运行速度比VB要快
      

  40.   


    1.vb.net  Imports System.Data
    只是关键词不同而已2.adoconnection  adorecordset这些的区别是类的区别,ado和ado.net的区别,和语言没关系,语言相同的地方还是很多的,c#是白手起家,vb.net至少还有vb的基础
      

  41.   


    for循环绝大部分都是加减的处理,如果用乘除其实已经不是循环的概念了,这样只是增加了灵活性而降低了可读性。如果确实要乘除,也完全可以用do循环的
      

  42.   

    just like it and the work need it ~
      

  43.   

    我觉得多数人的原因是跟着工作需求走,要求用C#还总不能用VB
      

  44.   


    DNN用vb.net的c#和vb.net在winform 和webform上的作为都是一样的。语言之争和平台之争混杂在一起,我也不知道怎么说了,vb系的语法怎么打入冷宫了?还是有很多地方用到的,不仅仅是.net里的vb.net用,之前的asp可以用,office的宏可以用,ie的浏览器可以用,他的平台比c#更广,c#只是.net的一种语言,别的地方还没见过哪儿用。c#只是一个新语言,使用了一些c的语法风格,而basic比c的历史还要长,打入冷宫真不知要从何说起。维基百科
    ===
    C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年研制出的B语言的基础上发展和完善起来的。
    1964年,两位美国计算机科学家G. Kemeny和Thomas E. Kurtz在FORTRAN语言的基础上创造了一种新的语言——BASIC,BASIC是一种适用于初学者的人机交互式语言。
      

  45.   

    其实看代码的话,我觉得VB的确无法体现出代码之美,而且从功能上讲,VB有点是已经被MS抛弃的感觉~
      

  46.   

    1.vb.net中没有发现C#中的using System.Data;这种东西,  可能在哪里藏着,但是没有C#的直观 是不是你在c#程序里的头上看到这句话,而vb.net里面有,而且也一样能用,迷糊了?在项目的属性里,有个引用,在导入的命名空间,前面有些勾已经打上了,这些打上的勾是全局的,自动会加入,所以比c#更少一些事,如果你不喜欢这样,也可以去掉勾,这样就要自己在头上写了,去掉后保存为模板,下次打开这个模板,也不用一次次去勾了
      

  47.   


    美不美的太主观,你怎么看出功能上被ms抛弃的,我觉得明明是在不断改进呀?ms对vb10的改进
    1.      隐式续行符
    2.      多行Lambda表达式和方法型Lambda表达式
    3.      数组、集合和字典的初始化语句。
    4.      泛型接口和泛型委托的协变、反变性
    ....而c#的一些动态特性和命名参数,可选参数,vb.net在一开始的版本就有了
      

  48.   

    谁也不能否认 C 比 VB 好用些,我就是用了多年VB和VC,一个礼拜就转成C#了,也没看过什么书,连VC都放弃了