转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
VB2005语言新功能         ★★★★

VB2005语言新功能

作者:闵涛 文章来源:闵涛的学习笔记 点击数:735 更新时间:2009/4/23 15:03:59

有以下主要新功能

运算符重载/部分类/Continue 关键字/Using 关键字/拆分存取访问/泛型支持

运算符重载
 Dim ShortSpan, LongSpan, TotalSpan As TimeSpan
 ShortSpan = TimeSpan.FromMinutes(100)
 LongSpan = TimeSpan.FromDays(14)
 TotalSpan = ShortSpan + LongSpan
 Console.WriteLine(TotalSpan.TotalMinutes)
 为什么可以直接TotalSpan = ShortSpan + LongSpan这样呢,原因是TimeSpan类对+号运算符进行了重载,如
  Public Shared Operator+(objA As MyClass,
    objB as MyClass) As MyClass
      '''' (Code goes here.)
  End Operator

部分类
 所谓部分类,就是把类定义为类的一部分,一个类可以有多个部分类组成而形成一个完整的类
 部分类的主要作用用于把类的定义分别存于不同的文件中,使用如下
 比如在文件TestClass_1.vb中存放下面代码
 Partial Public Class 存放
    Public Sub TestMethodA()
        Console.WriteLine("Method A called.")
    End Sub
 End Class
 在文件TestClass_2.vb中存放下面代码
 Partial Public Class TestClass
     Public Sub TestMethodB()
         Console.WriteLine("Method B called.")
     End Sub
 End Class

  而调用时和存放在一起没有什么区别
  Dim Obj As New TestClass()
 Obj.TestMethodA()
 Obj.TestMethodB()

 
Continue 关键字
 有3中使用方法
 Continue For、Continue Do 和 Continue While
 分别应用于
 For ... Next, Do ... Loop, or While ... End While中
 如下例子
 For i = 1 to 1000
    If i Mod 5 = 0 Then
        '''' (Task A code.)
        Continue For
    End If
    '''' (Task B code.)
 Next

Using 关键字
 Using表达式用于控制资源释放
 如下:
 Using NewFile As New _
   System.IO.StreamWriter("c:\MyFile.txt")
     NewFile.WriteLine("This is line 1")
     NewFile.WriteLine("This is line 2")
 End Using
 
 '''' The file is closed automatically.
 '''' The NewFile object is no longer available here.
 这样,当使用了using关键字时,VB2005会自动调用对象的Dispose()方法释放资源

拆分存取访问
 在以前有以下三种访问方式
 公用 (Public)
 友元 (Friend)
 私用 (Private)
 但是,当碰到下面情况时会碰到一下问题,如只想给访问Status的权限,而不让非友元类设置Status的值
  Public Property Status() As Integer
     Get
         Return _Status
     End Get
     Set(ByVal value As Integer)
         _Status = value
     End Set
  End Property
 这时就比较难以处理了,然而在VB.2005中可以使用如下代码实现
 Public Property Status() As Integer
     Get
         Return _Status
     End Get
     Friend Set(ByVal value As Integer)
         _Status = value
     End Set
 End Property

泛型支持  
 泛型支持在C++中已经得到广泛应用,现在VB.2005也开始支持泛型
 和泛型对照的一个非常实用的类是System.Collections.ArrayList类,它是一个可以自动调整大小的集合,
 它可以存放一般的.NET对象,为了支持这项功能,它把所有对象看出OBJECT对象,
 这样,当你只想用它来存放某一个类别的对象时,你不能保证它不能存放其他不同的类别
 然而在泛型中,可以通过OF关键字来强行确定类型,从而保证了容器存放组件的一致性,如下
  Public Class GenericList(Of ItemType)
      Inherits CollectionBase
  
      Public Function Add(ByVal value As ItemType) _
        As Integer
          Return List.Add(value)
      End Function
  
      Public Sub Remove(ByVal value As ItemType)
          List.Remove(value)
      End Sub
  
      Public ReadOnly Property Item( _
        ByVal index As Integer) As ItemType
          Get
              '''' The appropriate item is retrieved from
              '''' the List object and explicitly cast to
              '''' the appropriate type, and then returned.
              Return CType(List.Item(index), ItemType)
          End Get
      End Property
  End Class
 调用
 '''' Create the GenericList instance, and
 '''' choose a type (in this case, string)
 Dim List As New GenericList(Of String)
 
 '''' Add two strings.
 List.Add("blue")
 List.Add("green")
 
 '''' The next statement will fail because it has the
 '''' wrong type. There is no automatic way to convert
 '''' a Guid object to a string. In fact, this line
 '''' won''''t ever run, because the compiler notices the
 '''' problem and refuses to build the application.
 List.Add(Guid.NewGuid())
    
 
.NET2。0提供下面的泛型供使用,你可以在Systems.Collections.Generic 命名空间中找到这些泛型
List – 和 GenericList 例子类似的基本集合
Dictionary –用于索引名称=值的集合
LinkedList –链表
Queue – 先进先出集合
Stack – 后进先出集合
ReadOnlyCollection – 有固定项目集的集合,其中項目一旦建立就无法更改
SortedDictionary – 永远保持排序的名称-值集合

  


 
 
   


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台