c与cvb.net的简单介绍( 二 )


C#对于移植代码似乎没有作用,了解C#的人都明白,把现有C/C++代码放到C#中运行几乎是100%不能通过的 。所以 , 如果需要移植C/C++代码 , 最好使用Visual C++.net 。他做到了最好的新旧结合 。C#仅仅用于编写新的.net应用程序 。
如果需要从Java移植代码,C#可以选择 。同时还有J#及其他一些MS提供的转换工具 。
文档和资源方面的考虑
在MSDN文档中 , C#和VB是同等看待的 。所有文档和例子都是有VB和C#两份的 。因此,在寻求资源方面都不用担心 。互联网上的资源,C#要多于VB,特别是国内 , 有倾向于C#的潮流 。但是ASP.net的资源VB较多 。国内缺乏VB.net资源是影响VB.net推广的重要原因 。但是在国外有很多非常成熟的VB技术,如掌上设备的开发技术 。
代码风格和杂项问题
C#书写的代码比VB平均短小20% , 许多人不喜欢VB中过长的关键字 。当然他们可以选择C# 。但在开发环境中,VB的自动完成功能比C#更完善 , 其实30%的代码都是自动补充的 。因此,实际上VB程序员不会比C#多打多少字 。但VB语言换行比C#麻烦,如果需要书写大量繁杂而长的代码,最好选择C# 。VB的代码接近完整的英语,比C#更加易读 。如果是初学者不妨选择VB 。
c语言与vb.net先学那个好一些 本来想学vb.net的 , 但大多数人都说先学c好一些,我该选哪个VB已经没有竞争力了 。没有学习VB的必要了 。C语言、C++语言、Java语言,这三个语言才是最有用的编程语言 。
不要被VB的美丽的界面迷惑了,功能强大才是硬道理 。VB那是华而不实 , 没有用的 。用C语言、C++语言做出来的程序才有实际功能 。
我现在就用 VC 编写一个简易的对话框给你看看 。
#pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"")
#include windows.h
int main(void)
{
if ( MessageBox ( NULL , "请您选择是或否 。" , "请选择" , MB_YESNO ) == IDYES )
MessageBox ( NULL , TEXT("您单击了是 。") , "提示" , MB_OK ) ;
else
MessageBox ( NULL , TEXT("您单击了否 。") , "提示" , MB_OK ) ;
return 0 ;
}
C#与VB.net有什么不同呀?都说在.NET里,.NET framework和CLR是应用运行的基础 。那么VB.NET和C#是不是就完全一样 , 只是语法不同吗?
一、C#
--- 像VB一样简单,像C++一样强大的新语
C#是第一流的面向组件的语言
由 Turbo Pascal, Delphi, and Visual J++的首席设计师Anders Hejlsberg 倾心3年设计
所有的语言元素都是真正的对象
开发强壮和可重用的软件
所有的.NET Framework中的基类库(Base Class Library)都由C# 编写
二、VB.NET
--- 完全面向对象的BASIC语言
1.新语言特性
完全面向对象– 继承(Inheritance), 重载(overloading), 共享的成员, 结构化异常处理
强壮的语言 – 严格的类型检查, 变量声明时初始化,支持垃圾收集(Garbage collection)
强大 – 支持委托(Delegates), free threading , Variant 数据类型被 Object 代替
2.与VB6一致的语法
三、2者的区别?
1.语法上的差异
例如循环的写法
【c与cvb.net的简单介绍】VB.NET
For I = 1 To 10
‘ for loop
Next I
C#
For (i=1;i11;i++) {
// for loop
}
另外Visual Basic 对大小写不敏感,而C#是大小写敏感的 。
2.C# 具有但 Visual Basic 不具有的特性
指针, 移位操作符, 内嵌的文档(XML)
重载操作符
3.Visual Basic具有但 C# 不具有的特性
更丰富的语法: Events, Try…Catch, Select…Case, 实现 Interface
后期绑定(Late binding), 动态数组, 模块(modules), 可选参数, 参数属性(parameterized properties)

推荐阅读