C#是一种高级程序设计语言,是一种安全、稳定、简单、优雅的编程语言,它与Visual Basic有很多相同的地方,同时也有很多不同的地方。我们今天这篇博客本着学习C#的原则,着重介绍一下C#与Visual Basic的相同点和不同点。从几个方面分别阐述。限于篇幅的原因,我们可能会分成几个部分,以几篇博客的形式呈现出来。希望大家多多关注,多提宝贵意见,我们共同进步!下面进入正题——

          C#与Visual Basic一样,是一种面向对象的可视化程序设计语言。C#以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持,成为.NET开发的首选语言。基于对C#更好更全面地的学习,我们将C#与Visual Basic语言等同起来,比较一下二者的异与同。
 
          产生:
          要说一门语言,首先不能放过的自然是它的产生。虽然就程序设计而言,一门语言的产生并不是这门语言的重头戏,但却也是不可忽略的一部分。追溯其根源及其产生发展,有利于我们更好的了解、学习、掌握这门语言。这里我们简单介绍一下。
 
          先说Visual Basic,简称VB,是美国微软公司(Microsoft)推出的基于Windows操作系统环境下的软件开发工具,是一种功能强大的高级程序设计语言。可以说,Visual Basic是所有程序设计语言中最为基础的一门语言,可能很多人对它的学习不屑一顾。但是,正因为基础,它的学习才会为以后学习其他编程语言打下良好的基础,你会发现再接触一门新的程序设计语言时,不会那么困难。(后面我会专门写一篇文章介绍关于VB的基础学习对于学习其他编程语言的重要性,这里不再赘述)
 
          再说一下C#,C#读作C Sharp,它是微软公司2000年发布的一种新的编程语言,是主要由AndersHejlsberg主持开发的,是第一个面向组件的编程语言。它是由C和C++衍生出来的,并在C和C++的基础上强大了一些功能,同时也去掉了一些它们的复杂特性,综合了VB简单的可视化操作和C++的高运行效率。
          
          举个例子:
          这是一个显示“Welcome to the C# learning!”的程序,下面展示的是这个相同的程序在C#中和在VisualBasic中的代码及界面显示。我们来逐一分析一下。
         
         这是C#的运行窗体界面
            
[csharp] 
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace 我的例子Hello_World  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Console.WriteLine("Welcome to the C# learning!!!");  
        }  
    }  
}  
          这是C#实现上述界面的代码部分
 
       
        这是VB的运行窗体界面
      
[vb]  
Private Sub Form_Load()  
    Me.AutoRedraw = True  
    FontSize = 18  
    FontBold = True  
      
    Print "Welcome to the C# learning!!!"  
      
     
End Sub  
                  
[vb]  
Private Sub Form_Click()  
    FontSize = 18  
    FontBold = True  
      
    Print "Welcome to the C# learning!!!"  
      
     
End Sub  
          这是VB实现上述界面的代码部分。接触过VB的人都知道,这是用两种不同的方式实现上述界面的。一个用的是Click事件,一个是Form_Load事件。
               通过上述几幅图片的比较,我们可以很清晰的看出C#与VB的区别所在。上面的例子代码是很简单的,所以可能效果不是特别的明显。对比C#和VB,其实实现这个例子不过就是一句代码的事儿。在VB中可以添加一个控件,拿添加一个Label控件来说,代码可以直接写成
[vb]  
<span >      Label1.Caption = "Welcome to the C# learning!!!"  
</span>  
        C#中的代码,究其根本,其实也就是一句话,把这行代码单独拿出来,如下:
[csharp]  
<span >      Console.WriteLine("Welcome to the C# learning!!!");</span>  
          这下好了,把VB这行代码和C#的代码比较一下,你会发现二者还真的有点像,但是又不一样。先看VB的代码,它的代码意思是:Label1(这个控件)的Caption(标题)是“Welcome to the C# learning!!!” ; C#的代码,它的意思是:Console(控制台类)的WriteLine(方法)显示文本行"Welcome to the C# learning!!!" 。都是显示文本,表示的方法却截然不同:VB中有等号,在C#中等号却是赋值的意思,双等号“==”才是和VB中“=”相同的意思;而且在C#中WriteLine方法把要表示的文本行用括号括起来,并且要注意的是代码行尾部有个分号,即“;”。在大量接触C#后,你就会发现,在C#的代码中,很多代码后面都有分号——“;”,如下面这个代码:
[csharp]  
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace 我的例子1  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            for (int i = 0; i < 10; i++)  
            {  
                Console.Write("请输入一个语句(输入end结束):");  
                string s = Console.ReadLine();  
                if (s == "end")  
                {  
                    break;  
                }  
                Console.WriteLine("您输入的单词:" + s);  
            }  
        }  
    }  
}  
         在以后大量接触C#时就会发现一行代码后要加分号,在C#代码语言块用{  }括起来,结尾是不带分号的。这个随着学习C#的深入和代码量的增加,会一点点摸出规律的。
 
      注释方法:
[vb]  
  
[csharp]  
//这是C#编程代码  
using System;              //导入System命名空间  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace 我的例子Hello_World     //声明命名空间我的例子Hello_World  
{  
    class Program              //声明Program类  
    {  
        static void Main(string[] args)     //程序入口点,Main的返回类型为void  
        {  
            Console.WriteLine("Welcome to the C# learning!!!");    //控制台类的WriteLine()方法用于显示输出结果  
        }  
    }  
}  
        这是C#的代码注释方法
 
[vb] 
Private Sub Form_Load()  
    Me.AutoRedraw = True  
      
    FontSize = 18: Rem 设置字体大小  
    FontBold = True: Rem 字体加粗  
      
    Print "Welcome to the C# learning!!!": Rem  屏幕显示内容  
      
End Sub  
 
[vb] 
Private Sub Form_Load()  
    Me.AutoRedraw = True  
      
    FontSize = 18     '设置字体大小  
    FontBold = True   '字体加粗  
       
    Print "Welcome to the C# learning!!!"      '屏幕显示内容  
      
End Sub  
           这是VB的代码注释方法。
          C#的注释方法较为常用的就是在代码后加双斜线,即“//”,上面的图片已经做了很好的显示,当然C#的注释方法并不是只一种,双斜线是用于单行注释,双行注释则用“/*….*/”。其中//是一段代码注释;/*这是一段代码注释*/。不仅如此,下面这张表介绍了更多的注释方法,有兴趣的可以研究一下。
         VB展示了两种不同的代码注释方法。学过VB的人都知道,VB的注释方法有两种(暂时我只知道这两种方法),一种就是单引号,在代码后加入英文状态的单引号;另一种Rem注释,即在代码后加冒号,加Rem,加注释。相对而言,第一种注释方法是比较常见,也是比较常用的。

C#与Visual Basic的异与同的更多相关文章

  1. 使用 Async 和 Await 的异步编程(C# 和 Visual Basic)[msdn.microsoft.com]

    看到Microsoft官方一篇关于异步编程的文章,感觉挺好,不敢独享,分享给大家. 原文地址:https://msdn.microsoft.com/zh-cn/library/hh191443.asp ...

  2. Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010

    摘  要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中.Excel软件对 ...

  3. Visual Basic 2012 借助DataGridView控件将Excel 2010数据导入到SQL server 2012

    (注:注释的颜色原本为绿色,在这里变为黑色,有点不便,但不会造成阅读影响.放入Visual Basic2012代码编辑器后会还原成绿色.) 摘  要:DataGridView控件作为数据传输的中介,只 ...

  4. Delphi、C C++、Visual Basic数据类型的对照 转

    Delphi.C C++.Visual  Basic数据类型的对照 变量类型 Delphi C/C++ Visual Basic 位有符号整数 ShortInt char -- 位无符号整数 Byte ...

  5. 2016年4月TIOBE编程语言排行榜 Visual Basic正渐行渐远

    COBOL, BASIC 和 FORTRAN 很长一段时间作为主力开发语言被使用.有很多软件使用这些语言来编写,并且发展的不亦乐乎.然而经过多年的发展,COBOL和FORTRAN逐渐被抛弃, 而得益于 ...

  6. Visual Basic相关图书推荐

    Visual Basic从入门到精通(第2版) 作      者 国家863中部软件孵化器 编 出 版 社 人民邮电出版社 出版时间 2015-03-01 版      次 2 页      数 61 ...

  7. 演练:Office 编程(C# 和 Visual Basic)

    https://msdn.microsoft.com/zh-cn/library/ee342218(v=vs.110).aspx PIA的全称是 primary interop assembly  主 ...

  8. [引]MSDN Visual Basic 和 C# 中都会用到的编程概念

    本文转自:http://msdn.microsoft.com/zh-cn/library/dd460655.aspx 本节介绍 Visual Basic 和 C# 中都会用到的编程概念. 本节内容   ...

  9. 导出Excel文件,npoi方式和通过microsoft.visual basic.dll

    一:例子截图: 二:NPOI截图 三:EmployeeListWindow.cs代码 using System; using System.Collections.Generic; using Sys ...

随机推荐

  1. BZOJ.4816.[SDOI2017]数字表格(莫比乌斯反演)

    题目链接 总感觉博客园的\(Markdown\)很..\(gouzhi\),可以看这的. 这个好像简单些啊,只要不犯sb错误 [Update] 真的算反演中比较裸的题了... \(Descriptio ...

  2. CF1065E Side Transmutations

    link 题意: 给你一个长为m的序列$b_i$,定义两个字符串a,b相同当前仅当a执行以下操作后能变成b:($\rm{prefix}(x,y)$及$\rm{suffix}(x,y)$定义为串x的前/ ...

  3. BZOJ4242 : 水壶

    对于任意两个建筑物,以它们之间的最短路为边权求出最小生成树. 则询问(x,y)的答案为最小生成树上x到y路径上边权的最大值. BFS求出离每个点最近的建筑物以及到它的距离,可以发现只有交界处的边才有用 ...

  4. CSS选择符、属性继承、优先级算法以及CSS3新增伪类、新特性

    CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?CSS新增了哪些特性?下面我整理了一些,仅供参考. CSS 选择符: 1)      id选择器(# myid) ...

  5. Chrome中使用老的标题栏界面

    Chrome 69中启用了新的UI界面,看着更加秀气了. 但新UI一个不好用的地方是标签栏太高了,留给windows标题栏的空白太小,导致拖动窗口位置非常不方便,如下是一个解决方法: 在地址栏输入: ...

  6. oracle linux dtrace

    http://docs.oracle.com/cd/E37670_01/E38608/html/pref.html

  7. 怎样把XP系统装到USB里?

    怎么样在usb(usb闪存)里面装XP系统? 就是把usb当硬盘用 不买硬盘. U盘肯定装不了系统,装进去了也肯定蓝屏.为什么?因为USB得数据传输太慢,不会超过10M/S的,而你的IDE口或者SAT ...

  8. AngularJS中实现显示或隐藏动画效果的3种方式

    本篇体验在AngularJS中实现在"显示/隐藏"这2种状态切换间添加动画效果. 通过CSS方式实现显示/隐藏动画效果 思路: →npm install angular-anima ...

  9. AngularJS的增删改查、state嵌套案例,不涉及服务端

    本篇实践一个案例,大致是:左边有导航菜单,右边显示列表,并可对列表项编辑或删除,也可添加新的列表项.借此,可体会到:如何组织可扩展的AngualrJS文件结构,如何点击左侧菜单项右侧显示相应内容,an ...

  10. Delphi数学运算当中四舍五入的问题

    在最近版本的Delphi Pascal 编译器中,Round 函数是以 CPU 的 FPU (浮点部件) 处理器为基础的.这种处理器采用了所谓的 "银行家舍入法",即对中间值 (如 ...