VB.NET自我总结语法

 

 导入命名空间。
Imports System

一、(1)定义一个变量,并且初始化。
      Dim strText As String = ""
      或 者
      Dim strText As String 
      strText=""
    (2)实例化一个类或对象
      Dim openFileDialog1 As New OpenFileDialog()
      Dim clsClass As New ClsClass()
     (3)声明一个数组
      Dim  fileNames As String() = New  String(3) {}
      fileNames(0)="张 三 "
      fileNames(1)="李 四"
      fileNames(2)="王 五"
     (4)声明一个泛型类型
      Dim list As New List(Of T)()
    
二、异常处理。
  Try
  Catch ex As Exception
    Throw New Exception(ex.Message, ex)
  End Try

三、 条件判断语句
If...Then
...
ElseIf...Then
...
Else
...
End if
四、循环数组和集合
 For i As Integer = 0 To openFileDialog1.FileNames.Length - 1
           //exit for
  Next

 For Each item In List
           //exit for
 Next

五、过程和函数
Public Sub 函数名称(ByVal/ByRef  参数名  As Integer) as 类型

End Sub
Public Function 函数名称(ByVal/ByRef  参数名  As Integer) as 类型
  'vb6.0 带返回值的函数写法
 Dim str1 As String = "111"
 'Result = str1
 '也可以用vb.net中的关键值Return返回即可。
  Dim str2 As String = "222"
 Return str2
End Function
六、vb.net 中的模块(Module),一般用途一般只用来定义全局变量和公用方法。
Class   ClassName 
      public   shared   Function   fnXXX() as string   ' shared指的是静态方法相当于C#里                                 面的Static关键字。  
      ... 
      End   Function 
End   Class 
类似 
直接使用ClassName.fnXXX()调用。 也可以直接fnXXX()调用
Module   ModuleName 
      public   Function   fnXXX() as string
      ... 
      End   Function
End   Module 
调用:ModuleName.fnXXX()。也可以fnXXX()直接调用。
-------------------------------------------------------------------------------------------
模块(Module)里面可以直接有方法,这些方法自动就是静态的(或者称为共享的——VB.NET中的关键字是Shared),这些方法可以直接调用,所以Module是无法实例化,也没有必要实例化的
模块无法继承,也无法实现接口
模块里面可以有类,但其实这个类并不需要真的通过模块作为前缀来引用。所以模块有点虚的概念
模块可以被组织到命名空间中去,因为模块其实是个虚的,所以它的方法也可以直接外层的命名空间调用。

    

七、多个相同事件,同用同一个事件。
VB.NET
Private Sub rdbFeedChannelAny_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbFeedChannel1.Click, rdbFeedChannel2.Click, rdbFeedChannel3.Click

Exit Sub

C#
Designer
this.radioButton1.CheckedChanged += new System.EventHandler(radioButton_CheckedChanged);
this.radioButton2.CheckedChanged += new System.EventHandler(radioButton_CheckedChanged);

Code;
    private void radioButton_CheckedChanged(object sender, EventArgs e)
        {
            if(this.radioButton1.Checked)
            {
                   
            }
        }
八、Overloads 关键字,实现重载函数。
class1 
  Overloads Public Sub New() //构造函数。
  。。。。。。 
  。。。。。。 
  end sub 
  Overloads Public Sub New(s as string) 
  。。。。。。 
  。。。。。。 
  end sub 
end Class
九、
withevents用于声明对象,用它声明的对象拥有自己的事件。当这个对象内部有RaiseEvent的时候,外部就会接收到。 

handles就是接收这个withevents对象事件用的。比如你的一个对象有一个事件A,在执行的过程中,这个对象RaiseEvent   A,那么调用者的handles   对象.A   的SUB就会被执行。  

 

时间: 2024-09-20 06:17:51

VB.NET自我总结语法的相关文章

VB.NET and C# 语法比较手册

比较|语法 VB.NET and C# ComparisonThis is a quick reference guide to highlight some key syntactical differences between VB.NETand C#. Hope you find this useful!Thank you to Tom Shelton, Fergus Cooney, and others for your input. Comments Data Types Consta

vb.net和c#语法比较

比较|语法 由于一些人对vb.net和c#选择方面存在一些困惑,其实只是语法习惯问题,我把它们的语法列出来比较一下,大家有个感性认识. 1.变量声名  C# 语法  int x;  String s;  String s1, s2;  Object o;  Object obj = new Object();  public String name;  VB语法  Dim x As Integer  Dim s As String  Dim s1, s2 As String  Dim o 'Im

关于C#和VB.net的一个语法对比问题

问题描述 在vb.net中,使用如下代码不会有问题:DimtasString="123"DimiasNewList(OfInteger)i.Add(0)Integer.TryParse(t,i(0))运行之后,最后一句会把t转换成Integer型,并赋值给i中的第一个元素,于是最后的效果是i(0)的值变为123.没问题.而翻译成C#,如下:Stringt="123";List<Int>i=newList<Int>();i.add(0);Int

VB.NET基础语法

很久以来,VB因为缺乏完善的面向对象支持.缺乏高效的错误处理机制和性能表现不佳,因而一直受到某些人的嘲笑.VB.NET将彻底改变这种情况.然而,VB.NET在这些方面的改进也要付出代价,许多旧的代码需要手工进行转换才能在VB.NET下运行. 下面几个表格总结了VB.NET语言在语法上的改动之处.注意这些表格并没有完全列出所有改动之处,但列出了最重要的一些改动. 表A对比了VB6中一些熟悉的语法形式及其在VB.NET中类似功能最接近的语法形式. 表A:语法对比旧语法 新语法 说明窗体装载事件,类初

微软缘何认为VB与C#需要异步语法

在过去几年间,多线程编程已经成为了一个热门话题.虽然我们长久以来一直都希望能有高速响应的用户界面,但实现这个愿望的工具却迟迟不见踪迹.对于大多数框架(包括.NET程序员所使用的那些框架)来说,对用户界面的更新仍然局限于单独一个线程,同时,硬件制造商已经转向了多核来代替更快的CPU. C#与VB一开始提供了非常简单的并发支持,这是通过对监视器与委托使用lock/SyncLock关键字来实现的,异步程序库通过这两个关键字实现异步编程.在随后的几个版本中,我们并没有看到这两种语言在异步领域有任何进展,

一起谈.NET技术,微软缘何认为VB与C#需要异步语法

在过去几年间,多线程编程已经成为了一个热门话题.虽然我们长久以来一直都希望能有高速响应的用户界面,但实现这个愿望的工具却迟迟不见踪迹.对于大多数框架(包括.NET程序员所使用的那些框架)来说,对用户界面的更新仍然局限于单独一个线程,同时,硬件制造商已经转向了多核来代替更快的CPU. C#与VB一开始提供了非常简单的并发支持,这是通过对监视器与委托使用lock/SyncLock关键字来实现的,异步程序库通过这两个关键字实现异步编程.在随后的几个版本中,我们并没有看到这两种语言在异步领域有任何进展,

微软缘何“.NET研究”认为VB与C#需要异步语法

在过去几年间,多线程编程已经成为了一个热门话题.虽然我们长久以来一直都希望能有高速响应的用户界面,但实现这个愿望的工具却迟迟不见踪迹.对于大多数框架(包括.NET程序员所使用的那些框架)来说,对用户界面的更新仍然局限于单独一个线程,同时,硬件制造商已经转向了多核来代替更快的CPU. C#与VB一开始提供了非常简单的并发支持,这是通过对监视器与委托使用lock/SyncLock关键字来实现的,异步程序库通过这两个关键字实现异步编程.在随后的几个版本中,我们并没有看到这两种语言在异步领域有任何进展,

VB.NET是怎样做到的(搬家版)

VB.net能够实现很多C#不能做到的功能,如When语句.Optional参数.局部Static变量.对象实例访问静态方法.Handles绑定事件.On Error处理异常.Object直接后期绑定等等.VB和C#同属.net的语言,编译出来的是同样的CIL,但为什么VB支持很多有趣的特性呢.我们一起来探究一下. (一)局部静态变量 VB支持用Static关键字声明局部变量,这样在过程结束的时候可以保持变量的数值: Public Sub Test1()     Static i As Inte

VB.NET是怎样做到的(五、六)

VB.net是怎样做到的(五)--实现接口 VB.net采用的实现接口的语法是VB5发明的Implements,这个实现接口的语法在当今主流语言中独一无二.比如我有两个接口: Interface Interface1 Sub Test()End Interface Interface Interface2 Sub Test()End Interface 这两个接口有一个完全一样的成员Test.假设我需要用一个类同时实现两个接口会怎么样呢?先想想看,如果是Java,JScrip.NET这样的语言就