最近看招聘廣告,突然想到一件事,總是沒想明白.VB.NET,C#最終編譯的都是中間代碼,從執行效能上來說都是一樣的,那為什麼有些公司招聘時,都指定C#或是VB.NET呢?他們選C#或是VB.NET的依據是什麼?我用的是VB.NET,老實說,我選VB.NET的理由僅僅是我之前用的都是VB.學了VB.NET之後,我覺得潛移默化的對C#也不默生呀.比如說我現在在看<<.NET網絡高級編程>>,它里面的例子用的都是C#,我覺得我理解上都不困難呀,感覺就像看VB.NET一樣,自已搬代碼的時候,很自然的將書里的C#代碼寫成了VB.NE的代碼.所以我就不明白,為什麼這些公司的招聘上都寫明了一定要C#的工作經驗呢?MS又為什麼會出C#,VB.NET這兩個僅僅在語法上有區別,但我覺得實際上好像是一模一樣的東西呢?MS僅僅是為了C++方便轉C#,VB方便轉VB.NET的商業廣告嗎?
VB.NET,C#它們的真正差別是什麼?
我選的是VB.NET,所以我把這個問題放到C#版,聽聽學C#的兄弟們的意見.

解决方案 »

  1.   

    公司的团队如果用vb.net就招vb.net,反之,亦然
      

  2.   

    C#是新生语言,像被宠坏的小孩,被人吹捧着长大的,所以有很多人盲目争着学这个东东了!这样的后果造成很多公司要转型时就自然而然更多的转向C#开发上,所以招聘的时候见到这种的要求不足为奇!其实你只要学会一样,另外一样只是语法上的差别!几天时间就可以搞掂了,呵呵..关键在于你对.Net FrameWork的总体认识与经验积累了!祝你好运哦,呵呵...
      

  3.   

    看看我的描述吧:3tzjq(决定放弃VB.Net,重新学习C#) 
    VB.Net 跟C Sharp 没多大区别,招聘公司为什么只要C Sharp? 一是他们对VB.Net的不了解,认为还是VB 6时代。二是C Sharp 在代码精简方面和更容易接触底层技术。所以精通VB.Net的人学C#是很有必要的
      

  4.   

    那MS以VB.NET,C#兩種不同的形式推出.NET FrameWork的用意是什麼呢? 僅僅是為了C++方便轉C#,VB方便轉VB.NET的商業廣告嗎?我覺得是這個原因的話,就有點不可思義了.
      

  5.   

    .NET FrameWork是一样的,vb和c#只是语言不同,现在不是还有delphi.net吗?
      

  6.   

    VB.net和C#完全属于同一种东西,你只需要区别语法和一些细微的区别就可以了通常,学得.NET的人VB.net和C#都是熟悉的,只是习惯问题.公司需要招聘某一种是希望能快速的加入团队.你可以和面试主管进行勾通,看看是否能说服他们.
    并告诉他们两种东西是一样的.对于那些说C#优于VB.net的人...我实在无话可说...我也不知道C#优在那里.代码简洁???那是看惯一种看不惯另一种的说法,C#完全是一种商业炒作的语言.什么优点...我没看出来....NET Framework是平台, VB.net,C#是语言... 这样理解就OK了 VB.net => IL <= C#
      

  7.   

    其实你有什么好担忧的呢
    既然你已经精通了vb.net,那么你稍微看看C#,
    应聘的时候说你精通C#不就好了吗
    你说对不对啊.反正难不倒你
      

  8.   

    3tzjq(决定放弃VB.Net,重新学习C#) 说的不错,同感
      

  9.   

    也說不好是擔心,我只是突然想到這個問題,而我又想不明白,為什麼MS會生產出C#,VB.NET這兩個實質上看不出多大區別的東西.既然想不明白,就想問一下大家的意見了.
      

  10.   

    回复人: xxc1981(asf) ( ) 信誉:51  2005-03-17 15:56:00  得分: 0  
     
     
       其实你有什么好担忧的呢
    既然你已经精通了vb.net,那么你稍微看看C#,
    应聘的时候说你精通C#不就好了吗
    你说对不对啊.反正难不倒你
      
     
    这个说法正确
      

  11.   

    我个人认为是由于在.net之前公司中领导层多是用C语言,升级到.net后这些人肯定升级C#,领导用C#那么他对手下要求也是用C#,不可能手下用VB.NET他自己还看不懂,不方便领导!再说C#实际就是用C语言把VB.NET描述了!
      

  12.   

    没有本质上的区别了。
    Dot NET提供了一个统一的计算及运行平台,它的语言实质上只有一种了-就是微软中间语言,其它的语言从某种角度上说已经沦落了(至少收到了限制-说得好听些--就是安全了),对于编译类语言来说,以前可以直接操纵cpu,现在要交给dot net Framework来做了,对于解释类语言来说,以前有自己的解释引擎,现在则改用dot net Framework了。
    这些语言可以看作是DotNet的客户,当然他们使用统一的接口-微软中间语言来和dotnet交流。
    在DotNet环境中语言的选择基本上是习惯与否的问题了,对微软来说一统天下是最好不过的事了,当然对一般软件公司来说,使用统一的语言在管理和成本方面有益。
      

  13.   

    仅仅是团队需要而定的,一个公司不大可能同时用VB和C#的,那样管理不便,只能选择基中的一种,所以团队里用什么就用什么了.
      

  14.   

    其实都是NET下面的,使用起来 很接近,不过,一般单位 会选择和团队编程语言接近或相同的人,还有C#的ASP。NET也是被考虑到的因素。
      

  15.   

    我举个例子你就明白了比方说我们公司一直用的是C#,有很多工程都是用C#写的,要是我们有个原有工程要改进,要你VB的去跟,不可能你把代码都改成VB的,再写下去吧,
    还有你用VB写项目,人家写C#的和你来一起做,你说这个工程是用VB写呢,还是C#呢,就算用VB写一部分,C#写一部分,要是你走了,人家写C#的要看你代码,也麻烦。
      

  16.   

    你对vb.net已经精通了,你也知道他知c#没什么好大区别,你也能看懂,那你应聘的时候说都精能就是噻,反正你又不是不知道
      

  17.   

    有同感,我看c#的书,用vb.net实现,好象也没有什么不同的.
      

  18.   

    MS打出C#这张牌 就是一种商业战略~~
    从VB到VB.NET、从C/C++到C# 从ASP到ASP.NET 
    越来越商业化 越来越简单~
    程序员越来越轻松、越来越没有价值~、
    按这种趋向~~~~做为公司~~也就有更多的选择了~~
    说到底~~~以后的程序设计,就是建筑设计~程序员就是以后的建筑工人(说好听是建筑工人,难听点的就是民工)
    上这微软这艘贼船,你还想要什么呢??????? 
      

  19.   

    我觉得不这么简单:我就曾经做过几次将VB.NET改为C#的事情,大家看看两段代码,就能看出风格上面都有明显的差异了。而书上和MSDN上很多的双语例子不过是简单的把C#的代码用VB.NET来重写,这样的代码,不应该被称为VB.NET,只不过是披着VB.NET语法这张皮的C#代码而已。。
    UUSoftUser = "UUSoft" '配置UUSoftConfig.ini定义的用户名
    UUSoftKey = "&*(^" '配置UUSoftConfig.ini定义的加密串
    UUSoftWeek = "1,3,6" '配置UUSoftConfig.ini定义的星期,以逗号分割星期天为0,星期一为1,依次类推
    UUSoftTime = 6 '配置UUSoftConfig.ini定义的时间,必须为整数,比如现在示例为6,即表示早上6点后变密码。
    UUSoftNowTime = System.Date.Now.AddHours(-UUSoftTime)

    i = 0 do
    UUSoftTempTime = UUSoftNowTime.AddDays(-i)
    UUSoftNowWeek = UUSoftTempTime.DayOfWeek
    if UUSoftWeek.IndexOf(UUSoftNowWeek.toString()) > 0 then
    UUSoftNowTime = UUSoftTempTime
    exit do
    end if
    if i > 6 then 
    exit do
    end if
    i = i + 1
    loop MyUUSoftFTP = Server.CreateObject("UUSoft.uuftpcoding")
    UUSoftCode = MyUUSoftFTP.getCode(UUSoftNowTime.ToShortDateString.toString(), UUSoftUser + "_" + strUser + UUSoftKey)
    MyUUSoftFTP = Nothing getUUCode = UUSoftCode
    =========================================================================================      string key = "&*(^";//配置UUSoftConfig.ini定义的加密串
          DayOfWeek[] weeks = new DayOfWeek[] {DayOfWeek.Monday,DayOfWeek.Wednesday,DayOfWeek.Saturday};//配置UUSoftConfig.ini定义的星期,以逗号分割星期天为0,星期一为1,依次类推
          int hour = 8;//配置UUSoftConfig.ini定义的时间,必须为整数,比如现在示例为6,即表示早上6点后变密码。
          
          DateTime date = DateTime.Now.AddHours( -hour );      while(true)
          {
            if ( new ArrayList( weeks ).Contains( date.DayOfWeek ) )
              break;
            
            date =  date.AddDays( -1 );
          }      UUFTP.uuftpcodingClass coding = (UUFTP.uuftpcodingClass) Server.CreateObject( typeof ( UUFTP.uuftpcodingClass ) );
          return coding.getCode( date.ToShortDateString(), username + key );
      

  20.   

    学习,学习~~~~ http://www.67home.com
      

  21.   

    要說C#與vb.net有什么區別﹐一般的應用是沒什么區別的﹐C#的功能強大之處就是指針﹐這是vb.net無法比擬的。
      

  22.   

    还是有点区别的:
    1、vb.net 不能内嵌不安全代码,即不支持指针运算;
    2、vt.net 好像不支持运算符重载
      

  23.   

    晕了,badboy168是骂你的,你也给他分。