对比C#和VB.net开发工程的效果。
vb.net吧
全部回复
仅看楼主
level 7
SUSAN_ANA 楼主
一直对C
#较好奇,为何国内都如此热捧?到处叫跳槽去c#

拿了个小工程计算来试,虽说是小,但涉及工程类的,都充满了力学模型和矩阵。
终于用vb和c#各写完了一遍,包括类库,结构,函数指针,数组等常用的运算。
工程中的数组模型往往是相互嵌套的,几个struck(structure)结构相互咬合,空间思维少点都不行。
使用结果,感觉VB编得很快。但用C#时,却被它的逻辑语句耗掉我大脑仅有的精力,数据模型完全都装不进脑袋,经常处于完全发呆状态。
对于工程专业的开发人员来说,失去了力学模型的思维,就等于失去了灵魂,逻辑再美妙的语言放在面前,也打不出半个代码。
所以,我宁愿选择直白、松散、自然的语言来工作。
就如面对一个聪明的管家,在我满脑都是数理符号时,随便吩咐几句大概意思的话,他就明白了。
但如果面对一个傻呆呆的管家,我要小心地、逻辑地吩咐他工作,否则他会帮倒忙,即便如此,还经常出来倒乱。
两个管家,你们喜欢用哪个?我们之所以使用.net,就是要用它的智能化。
我们需要的是聪明的管家,而不是全能的管家,最全能的是机器码。
我们通常只是处于应用层的开发,vb完全可以应付。难道是怕语言太直白,唬不了人?
好吧,我以后用vb编完后,再翻译成c#好了,但很不幸,生成的中间码是一样的……
2014年08月18日 17点08分 1
level 7
SUSAN_ANA 楼主
还有一个重要的问题就是数组。
力学矩阵都是从1开始的,vb的数组a(n)有n+1个,既可以从1开始,也可以从0开始。
但C#数组a[n]只有n个,从0开始,被迫要定义为a[n+1]。这是最易出错的地方。
2014年08月18日 20点08分 2
确实讨厌c的数组。烦死了
2015年02月19日 10点02分
为什么我用.net输入for i = 1 to 5时提示我只能从0开始啊?
2015年05月05日 15点05分
回复
��ҹ����
:C#中占位符是从0开始记数的
2015年06月10日 01点06分
@暗夜军刀 先dim i as integer
2016年02月25日 02点02分
level 13
我试过,思路和实际效果几乎是一样的,代码能互相转换。
c#热门纯属大学课程问题
2014年08月19日 01点08分 3
结构区是不能直接转换的,特别是涉及多维矩阵组,有时为了不引起太大改动,要附加变量和插入相应代码。
2014年08月19日 02点08分
代码是可转换,但编写效率有区别。
2014年08月19日 02点08分
回复 SUSAN_ANA : 结构不能转?给个例子代码
2014年08月19日 03点08分
回复 SUSAN_ANA :就算有指针类型也是可以转换的
2014年08月19日 03点08分
level 13
中间码是有区别的。c
#没有MyService,所以c#
版的软件一般没有My命名空间
2014年08月19日 01点08分 4
噢,这个不影响调用和运行效果,就不关心了。
2014年08月19日 02点08分
level 5
只会VB,表示国内用VB.Net的确实太少了,我们吧里人就特别少,前天发的一个问题,如今都没人回复
2014年08月21日 08点08分 5
vb和c
#一起学,是最直接的办法。平时可先用vb快速开发,然后用c#
完善代码,方便以后阅读。
2014年08月22日 00点08分
回复 SUSAN_ANA :没学过c
#,表示,觉得VB已经挺好了呀,为什么说用c#
完善代码呢?另外,求大神帮忙看看上次发的一个求助贴,关于SerialPort的DataReceived不触发的问题,谢谢
2014年08月22日 03点08分
回复 bzxl0408 :这样的,vb开发快,但逻辑性不强,过段时间,我经常忘记自己在写什么。有机会的话用c#写一遍,感觉会有收获。我重点搞工程计算,不涉及数据库,你的问题,我确实不太了解。不好意思。
2014年08月22日 20点08分
回复 SUSAN_ANA :嗯,知道了,不过还是谢谢了
2014年08月23日 04点08分
level 12
跟风,大学教的也是C#就是没有VB
2014年08月22日 13点08分 6
嗯,明白了。我以前学校里没学过C#的,所以现在用VB。
2014年08月22日 20点08分
如今VB已经落后啦~很少公司在使用~其实我觉得C#没有JAVA火,其实要是大学能兼顾的深入学习java的话是很好的选择~
2015年04月22日 03点04分
回复 dhh412 :VB指的是VB.NET
2015年04月22日 04点04分
@dhh412 C# 没有 java 火 是因为 装完net3.5 要打30多个补丁,不打,前脚走,后脚电脑就中毒[滑稽]
2015年04月22日 09点04分
level 12
vb好用点,不用加分号,方法不必带括号,报错比较少,晚期绑定比较方便,还有My命名空间
2014年08月30日 05点08分 7
这个是习惯问题,我刚开始从C#换过来的时候还觉得这样不舒服呢。。[吐舌]
2014年09月26日 02点09分
回复 血仓冥 :。。。。。。。
2014年09月26日 04点09分
是啊~个人习惯问题~我用的是C#都习惯了~就认为C#通俗易懂~语法严谨用的舒服~
2015年04月22日 03点04分
@dhh412 超级不喜欢用分号,Python就没用,加上花括号,乱糟糟的界面
2015年05月31日 14点05分
level 8
聪明人用C#,懒人用VBNET,我猜
2014年09月05日 04点09分 8
反过来说,会动听点。因为聪明的人往往是懒的。
2014年09月05日 17点09分
这不分人种的啦~其实还有一个更厉害的java在前面~[滑稽]
2015年04月22日 03点04分
没有安卓....Java.......... ———来自诺基亚630,你只看到我用诺基亚,却看不到我非凡的内心;你嘲笑我不是主流,我可怜你太过平凡!
2015年04月28日 11点04分
这句话我喜欢,我纯属懒人
2016年01月31日 12点01分
level 7
SUSAN_ANA 楼主
经过了一段时间的使用,我感觉两种语言的特点:
VB追求简便,争取最大的思维空间,让我们思想有足够的自由度。
C#追求代码逻辑完美,可以按自己的思维逻辑习惯来编排代码,有利于自己的阅读。
如果是针对非计算机专业类的开发,当然用VB会最好了,条框少了,思维就开阔了。
但如果有时间的话,可以写一份C#来整理一下逻辑思维。感觉会特别好,因为可以加深对语言的理解。
2014年09月05日 17点09分 9
level 2
这吧确实人好少的说。。。。VB。NET。。。。
2014年09月22日 00点09分 10
level 2
其实,用过.Net Reflector的人都应该明白,所有用.Net封装的东东都能完美反编译回C
#,VB.Net,F#
和IL。所以我认为,不管用的什么语言,只要实在.Net下编译,那么最终机结果都一样。所以我认为,相同版本的VB和C#能实现的功能是完全一样的。
2014年09月24日 00点09分 11
不能把“可互译”就说是一样,若把某个语言反编译成c++、汇编,然后说它们是一样的,这明显不科学。你说vb和c#相近,我同意。说“完全一样”,我不同意。比如说,在不同计算机上启动不同版本的ActivX,vb就有着明显的简便优势,c#却只能用“痛苦”来形容。
2014年09月24日 02点09分
On Error Resume Next转成C#?
2014年09月24日 12点09分
回复@SUSAN_ANA :我说的是能实现的功能一样。当然是vb更直观,简便,清晰啦,因为vb更加贴近人类语言。
2014年09月24日 23点09分
回复@包布丁 :没试过。表示c#不太懂。。。
2014年09月24日 23点09分
level 6
.NET本身定了一个基调,所以它所支持的语言,本质上差别不大(当然主打动态的IronPython和IronRuby不一定了)。
VB和C#现在的编程理念都是一样的,关键字都快差不多了。
2014年09月25日 06点09分 12
要注意细节,一开始我也以为是一样的,但其实这两种语言有很多细节上要互译非常困难。
2014年09月26日 04点09分
level 13
我最近发现[DllImport("msvcrt.dll")] public static extern int scanf(string format, __arglist);
这句没办法很好地翻译为declare语句。
__arglist直接写成ParamArray args
2014年09月25日 16点09分 13
As Object() 似乎不行
2014年09月25日 16点09分
回复 Nukepayload2 :估计要慢慢试验才行。关于静态结构的初始化我也搞了好一阵子。
2014年09月26日 04点09分
还有cdcel也必须要用dllimport。话说vb不是也可以用dllimport吗?
2014年10月14日 09点10分
还有cdcel也必须要用dllimport。话说vb不是也可以用dllimport吗?
2014年10月14日 09点10分
level 7
SUSAN_ANA 楼主
因为用.net不是太长时间,关于静态结构总有些疑问。
如C#中实现静态结构的初始化只需调用构造函数就行了,无需再定义实例
但对于vb来说,我还没找到直接调用构造函数的方法,只能靠定义实例来初始化,但使用结构中的数据的时候,实例却放在一边,没半点用处。
2014年09月26日 05点09分 14
怎么说呢,你这样的定义,我感觉有些奇怪就是了。这种时候,使用静态方法反倒才是更合适的吧。
2014年09月26日 06点09分
回复 vbfool :你还没看明白我的提问,这样实例化声明是被迫的,目的是启动构造函数。如果象c#那样无需实例化,就能启动构造函数,就不必如此浪费一个实例变量了。
2014年09月26日 07点09分
回复 SUSAN_ANA :静态方法什么时候实例化对象了?你非要放进构造函数里么?从一开始观念就不对吧。
2014年09月27日 12点09分
回复 vbfool :这只是你不明白了罢了。因为建立的数据模形往往都不是这么简单,相互引用,构造函数更是呈树状的连锁反应,根本不可能每个的赋值。在这个例子中c#明显能适应这种要求,vb也可以,只是做上述小动作罢了。
2014年09月28日 01点09分
level 12
国内vb.net开源资料太少了,虽然偏爱vb.net但形式所迫...
2014年10月08日 13点10分 16
学了一段时间c
#,回个头来用vb时,感觉简单又轻松,vb提供了大量c#
没有提供的功能。即使是相同的函数,vb也功能完善得多。如split函数,用起来vb比c#简便得多。
2014年10月09日 08点10分
回复 SUSAN_ANA :网上看了很多大神比较VB.net&C#的文章,最后的结果也都是偏向VB.net
2014年10月10日 07点10分
回复 兰德里士尼蒂斯 :是啊,只要分别用两种语言开发同一个工程项目,会发觉用vb能省掉大量人手和时间,对个人开发是有优势的。
2014年10月14日 11点10分
回复 SUSAN_ANA :中国人偏向类c语言,很少是真的擅长,大多是跟风
2014年10月15日 14点10分
level 8
工控自动化领域vb要超过c#吧而且用vb的都是爱学习的老鸟
2014年10月14日 09点10分 17
嗯,这是自然选择的结果,因为很多搞开发的人都没有现成的团队可选择,只有选择现成的语言,哪个语言适合个人开发,就选那个。这和个人情结没多大关系。
2014年10月14日 11点10分
特别在国外,劳动力紧缺的状况,vb的地位更加突出。
2014年10月14日 11点10分
别提vb了,原来用vb写过几个小程序,我用vb做的界面,文件读取是按照c语言算法写的,结果写了几百行代码,后来看我上中专的表妹写拖了几个控件改了几个属性就成了,从那以后我坚决的选择了c语言系列,c
#优点是语法熟悉,毕竟c用惯了。还有工控c#
/c++结合matlab和labview
2014年12月26日 18点12分
回复
�Ұ�����
:vb不能拖控件?看糊涂了我
2015年02月19日 07点02分
level 1
矩阵运算为啥不选择matlab呢?这个貌似更适合工程运算,另外c
#和matlab,labview结合不错,c#
做主体界面,调用labview做控件,运用matlab库做运算挺完美的。
2014年12月26日 18点12分 18
挖坟warning一次
2014年12月27日 01点12分
大多数c#教程对于vb.net通用,因此,matlab与vb,net也能一起使用。但没必要为了做软件而破解matlab。
2014年12月27日 01点12分
level 12
说明你VB熟,C#不熟[黑线]
2014年12月27日 06点12分 19
这么久了,还有挖坟的?如果问题只是熟练问题,那是小意思。学个好的新语言,对我没什么难的。问题是对个人开发来说,优势不大的语言,真的没必要把精力花进去。
2014年12月31日 07点12分
我对.net是很陌生的,vb.net更是缺教程,所以我是由C#开始学搞项目,然后再借鉴到VB.net的。 按先入为主的习惯,我应该偏向C#才对,但结果相反。
2014年12月31日 07点12分
同样用split函数处理输入字串,vb只需配个trim或string操作函数就行了,C#却非要我再学一套正则才能搞得掂。调用某些com,vb直接用,C#搞反射,运行效率还降低了。还一天到晚为C#的接口参数的类型而烦恼。我只是个人开发,人力资源很贵的,真的受不起这种折腾。
2014年12月31日 07点12分
回复 SUSAN_ANA : 最高版本c#可以不直接用反射了。有后期绑定,但是还是比vb写起来麻烦。 --来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月01日 02点01分
level 13
[委屈]
2015年01月02日 04点01分 22
1 2 尾页