伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> .Net技術(shù) >> 文章正文

VB.NET語法基礎(chǔ)知識(shí)學(xué)習(xí)

       很久以來,VB因?yàn)槿狈ν晟频拿嫦驅(qū)ο笾С、缺乏高效的錯(cuò)誤處理機(jī)制和性能表現(xiàn)不佳,因而一直受到某些人的嘲笑。VB.NET將徹底改變這種情況。然而,VB.NET在這些方面的改進(jìn)也要付出代價(jià),許多舊的代碼需要手工進(jìn)行轉(zhuǎn)換才能在VB.NET下運(yùn)行。    
    下面幾個(gè)表格總結(jié)了VB.NET語言在語法上的改動(dòng)之處。注意這些表格并沒有完全列出所有改動(dòng)之處,但列出了最重要的一些改動(dòng)。   
      表A對(duì)比了VB6中一些熟悉的語法形式及其在VB.NET中類似功能最接近的語法形式。 
  表A:語法對(duì)比
  舊語法 新語法 說明
  窗體裝載事件,類初始化事件 Sub New procedure Sub New稱為構(gòu)造方法(Constructor),它可以有參數(shù)。
  Property Let Property Set Let關(guān)鍵詞不再有效。
  Currency Decimal 在VB6中,Decimal是Variant的一種子類型,但在.NET中它是一種固有的數(shù)據(jù)類型。.NET不再支持Currency數(shù)據(jù)類型。
  Variant Object VB.NET的Object數(shù)據(jù)類型兼有VB6 Object類型和Variant類型的能力。
  Debug.Print Debug.Write Debug.WriteLine 這個(gè)變化只是名稱上的簡單變化:從Print變?yōu)閃rite和WriteLine。
  Wend End While VB.NET推薦使用While循環(huán)而不是Do循環(huán)。 
    為了讓VB的數(shù)據(jù)類型和其他.NET語言的數(shù)據(jù)類型相匹配,Microsoft修改了整數(shù)類數(shù)據(jù)類型的表示方法,并加入了一個(gè)新的數(shù)據(jù)類型。這些改動(dòng)對(duì)于進(jìn)行外部調(diào)用的方法尤其重要(比如API調(diào)用)。例如,如果被調(diào)用函數(shù)需要一個(gè)32位的整數(shù)參數(shù),則在VB6中它應(yīng)該聲明為Long,在VB.NET中應(yīng)該聲明為Integer。 
  表B:和整數(shù)有關(guān)的數(shù)據(jù)類型
  長度 VB6以及更早版本中的名稱 VB.NET中的名稱
  16 bit Integer Short
  32 bit Long Integer
  64 bit (無) Long 
    在VB.NET中,Microsoft減少了許多原先用于VB6的關(guān)鍵詞,代之以“框架類”。之所以要進(jìn)行這種替換,是因?yàn)榭蚣茴愔械墓δ軐?duì)所有的.NET語言都有效。下表列出了部分受影響的關(guān)鍵詞。 
  表C:被替換的關(guān)鍵詞
  VB關(guān)鍵詞 VB.NET名稱空間中的位置 方法/屬性
  Circle System.Drawing.Graphics DrawEllipse
  Line System.Drawing.Graphics DrawLine
  Atn System.Math Atan
  Sgn System.Math Sign
  Sqr System.Math Sqrt
  Rnd Microsoft.VisualBasic.Compatibility.VB6 Rnd
  Round Microsoft.VisualBasic.Compatibility.VB6 Round
  Lset System.String PadRight
  Rset System.String PadLeft
  DoEvents System.Winforms.Application DoEvents
  VarType System.Object GetType(返回類Type的對(duì)象,其中包含了可提取出信息的屬性) 
  
    在VB.NET中,變量、數(shù)組的聲明和初始化方法都有所變化,下表概要地列出了VB.NET在這方面的變化。
  
  表D:新的聲明方法
  變化 語法舉例
  單個(gè)聲明語句中不能聲明多種類型。 'VB.NET不允許出現(xiàn)下面這種聲明!
  Dim nCount As Integer, bAnswer As Boolean
  聲明變量時(shí)可賦予初始值 Dim nCount As Integer = 20
  Dim nDoubleCount as Integer = nCount * 2
  允許為數(shù)組元素指定初始值 Dim nIndex(3) As Integer = (3, 5, 7)
  不能用Redim進(jìn)行聲明,只能用Redim重新定義數(shù)組大小。 '下面這行代碼在VB.NET中不合法!
  Redim sName() As String
    大量新關(guān)鍵詞實(shí)現(xiàn)了VB.NET中的新功能。下面是一些最重要的關(guān)鍵詞及其用途、用法簡例。
  
  表E:VB.NET的新關(guān)鍵詞
  關(guān)鍵詞 用途 簡單例子
  Inherits 指向基類,用于實(shí)現(xiàn)繼承。 Inherits System.WinForms.Form
  MyBase 在子類的代碼中,MyBase引用基類。 StringProperty = MyBase.StringProperty
  Shared Shared表示類的所有實(shí)例共享類里面的變量。 Public Shared BaseLocation As String
  Try
  Catch
  Finally
  Throw 這是新的錯(cuò)誤處理關(guān)鍵詞。Try開始一個(gè)啟用錯(cuò)誤控制的代碼塊,Catch標(biāo)識(shí)一個(gè)對(duì)特定錯(cuò)誤進(jìn)行處理的代碼塊,F(xiàn)inally開始一個(gè)不管錯(cuò)誤是否出現(xiàn)都必須執(zhí)行的代碼塊,Throw拋出一個(gè)錯(cuò)誤(類似于VB6的Err.Raise)。 Try
  rsRecordset.Update
  Catch
  LogError ("更新失敗!")
  Finally
  rsRecordset.MoveNext
  End Try
  ReadOnly 在屬性聲明中,ReadOnly指示一個(gè)只讀的屬性(只有Get過程的屬性)。 Public ReadOnly Property
  StringProperty() As String
  WriteOnly 在屬性聲明中,WriteOnly指示一個(gè)只能寫入的屬性(只有Set過程的屬性)。 Public WriteOnly Property
  StringProperty() As String
  Char 這是VB.NET中的單字符數(shù)據(jù)類型。 Dim chrInitial As Char
  Imports 在當(dāng)前代碼模塊中引入指定類。 Imports System.WinForms
  Namespace 為模塊指定名稱空間(Namespace)。 Namespace MyApplicationName
  Overloads 重載。Overloads表示同一個(gè)函數(shù)名字有多個(gè)版本的實(shí)現(xiàn),編譯器通過函數(shù)的參數(shù)列表區(qū)分它們。 '同一個(gè)模塊之內(nèi)包含如下多個(gè)聲明...
  Overloads Sub Display(sIn as String)
  Overloads Sub Display(nIn as Long)
  Overrides 覆蓋。Overrides表示成員函數(shù)覆蓋當(dāng)前類所繼承的基類中的指定方法。 Inherits MyBaseClass
  Overrides Function Name(nID as Long) _
  As String
  Overridable Overridable表示任意從當(dāng)前類繼承的類都可以覆蓋指定成員函數(shù)。 Overridable Function Name _
  (nID as Long) As String
  MustOverride MustOverride表示任意從當(dāng)前類繼承的類都必須覆蓋指定成員函數(shù)。 MustOverride Function Name _
  (nID as Long) As String
  Protected Protected表示成員函數(shù)只能從當(dāng)前類的派生類訪問。 Protected Sub Clear()
  
  
    在以前的VB中,直至VB 4為止, Let、Set和Get屬性過程是分離的。VB.NET把同一屬性的屬性過程放到了一起: 
  Private msMyStringProperty As String
  ' 聲明區(qū)
  Public Property MyStringProperty As String
  Get
  MyStringProperty = msMyStringProperty
  End Get 
  Set
  msMyStringProperty = MyStringProperty
  End Set
  End Property   
    VB.NET不再有Let屬性過程,因?yàn)樗匈x值語句的語法(無論是對(duì)象還是非對(duì)象)都已經(jīng)一樣。
  
    語言方面的改動(dòng)遠(yuǎn)遠(yuǎn)超過了對(duì)體系結(jié)構(gòu)的改動(dòng)。對(duì)于大多數(shù)人來說這些改動(dòng)都有意義,但仍有人對(duì)某些改動(dòng)存有異議。例如,在以前的版本中,許多任務(wù)可以用多種不同的方法完成,統(tǒng)一的編碼標(biāo)準(zhǔn)要么不存在,要么很難執(zhí)行。為了“清理”VB語言,Microsoft對(duì)VB作了一些重大的改動(dòng),許多以前可以有多種實(shí)現(xiàn)方法的任務(wù)現(xiàn)在只有一種方法。
  
    除了前面幾個(gè)表格列出的內(nèi)容之外,下面是一些特別需要注意的地方。
  
    首先,向過程參數(shù)傳遞數(shù)據(jù)的默認(rèn)方式由原來的傳遞引用(ByRef)變成了傳遞值(ByVal),這是一個(gè)很重要的改動(dòng)。通過引用傳遞參數(shù)比通過值傳遞參數(shù)面臨著更多的危險(xiǎn),這種危險(xiǎn)在于被調(diào)用過程可能無意地改變參數(shù)的值。VB.NET仍舊允許以引用方式傳遞參數(shù),但默認(rèn)參數(shù)傳遞方式的改變意味著程序必須作相應(yīng)的調(diào)整。
  
    第二,VB.NET中不再有Set語句,把對(duì)象引用賦給變量現(xiàn)在只需一個(gè)等號(hào)就可以了,對(duì)象可以象任何其他值一樣對(duì)待。雖然省略Set簡化了代碼,但也有一個(gè)附帶的影響:默認(rèn)屬性不再有效。例如,下面這種屬性值引用方法不再合法: 
  Text1 = "這是對(duì)象的默認(rèn)屬性值。" 
    相反,屬性值必須按照如下方式顯式引用:
  Text1.Text = "這是對(duì)象的默認(rèn)屬性值。" 
    從表面上看來,VB.NET作這種要求似乎沒有必要。但事實(shí)上,它對(duì)于擺脫默認(rèn)屬性來說卻是必要的。例如,假設(shè)有一個(gè)名字為objFoo的對(duì)象變量,由于沒有了Set語句,假若屬性值仍舊可以象原來一樣引用,下面這個(gè)語句到底是什么意思就很難確定了: 
  objFoo = Text1 
    這個(gè)語句是設(shè)置了一個(gè)對(duì)Text1的引用,還是把Text1的Text屬性值賦給了objFoo?我們無法作出判斷,編譯器也同樣不能判斷。因此,拋棄Set語句也就意味著必須放棄默認(rèn)屬性值。
  
    .NET中最不讓人喜歡的改動(dòng):Microsoft改變了一些早就在使用的數(shù)據(jù)類型的含義。在.NET中,Integer變成了32位,而Long則是64位?梢韵胂螅@種改變將導(dǎo)致程序員頻繁地用錯(cuò)變量類型。例如,調(diào)用某個(gè)API函數(shù)時(shí)應(yīng)該使用16位的Integer還是使用32位的Integer?但愿Microsoft能夠重新考慮這個(gè)決定,采用一些新的變量類型名字,如Int32和Long64。
  
    VB.NET引入了Option Strict關(guān)鍵詞。Option Strict關(guān)鍵詞用于替代Option Explicit。原來的VB允許把一個(gè)數(shù)字值賦給字符串變量,或者進(jìn)行其它類似的不正常賦值操作,Option Strict結(jié)束了這種情況。聲明Option Strict告訴Visual Basic.NET不要進(jìn)行任何強(qiáng)制的類型轉(zhuǎn)換。當(dāng)然,VB.NET也不是完全限制了類型自動(dòng)轉(zhuǎn)換:它允許進(jìn)行向下的自動(dòng)類型轉(zhuǎn)換(Cast),但不支持向上的自動(dòng)類型轉(zhuǎn)換。例如,如果不是使用“sngvariable = CSng(dblvariable)”這類語句進(jìn)行顯式的類型轉(zhuǎn)換,聲明為Single的變量不能設(shè)置為Double變量的值,因?yàn)樗赡軐?dǎo)致數(shù)據(jù)丟失;然而,Double變量可以直接設(shè)置為Single類型變量的值,且無需顯式地進(jìn)行類型轉(zhuǎn)換,因?yàn)檫@里不存在數(shù)據(jù)丟失問題。使用Option Strict能夠幫助開發(fā)者減少許多錯(cuò)誤,包括許多難以調(diào)試的錯(cuò)誤。附帶說明:使用Option Strict時(shí)不允許再使用延遲綁定.
作者:未知 | 文章來源:未知 | 更新時(shí)間:2008-1-15 16:40:41

  • 上一篇文章:

  • 相關(guān)文章:
    如何在VB.net錄入驗(yàn)證?
    基礎(chǔ)學(xué)習(xí):VB.NET順序文件的操作方法
    基礎(chǔ)學(xué)習(xí):VB.NET隨機(jī)文件的操作方法
    VB.NET完善的面向?qū)ο笾С?/a>
    VB.NET對(duì)象的廣泛應(yīng)用
    VB.NET公共運(yùn)行時(shí)的環(huán)境
    VB.NET字符數(shù)據(jù)類型和其他數(shù)據(jù)類型
    多線程技術(shù)在.net中是如何應(yīng)用的
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·.net技術(shù) asp.net MVC3 Vi
    ·.net將視頻文件格式轉(zhuǎn)換成
    ·NET Framework 2.0 Servic
    ·如何動(dòng)態(tài)修改winform的app
    ·asp,net軟件結(jié)構(gòu)設(shè)計(jì)和相關(guān)
    ·學(xué)習(xí)怎樣使用ASP.NET中的虛
    ·,net基礎(chǔ)類的學(xué)習(xí):system
    ·.net學(xué)習(xí):c#事件的深入分
    ·Facade Pattern學(xué)習(xí)總結(jié)
    ·C#如何設(shè)置或者獲取目錄的
    ·如何使用XSL來定義ASP.NET
    ·理解WCF Data Contract契約
    ·如何能在.net2.0開發(fā)的控件
    ·模式怎樣使用,講解模式的
    ·如何解決Menu菜單被frame遮
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) m.zgna.net All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    夏邑县| 尼木县| 富阳市| 乐陵市| 吴川市| 莱芜市| 哈密市| 马关县| 陵川县| 高邑县| 原平市| 安福县| 剑川县| 蚌埠市| 汝阳县| 新昌县| 玉林市| 温泉县| 邯郸市| 峨边| 理塘县| 深州市| 陇西县| 上饶县| 高碑店市| 晴隆县| 卢龙县| 石景山区| 育儿| 洮南市| 朝阳县| 上饶市| 莱芜市| 铁力市| 新巴尔虎右旗| 茌平县| 大荔县| 广宗县| 酒泉市| 南投市| 攀枝花市|