經(jīng)過(guò)長(zhǎng)時(shí)間學(xué)習(xí)VB.NET條件語(yǔ)句,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。在程序設(shè)計(jì)中,VB.NET條件語(yǔ)句能夠根據(jù)表達(dá)式的值來(lái)決定代碼的執(zhí)行流程。在VB.NET中,條件分支語(yǔ)句有兩種:If/Then/Else語(yǔ)句和Select/Case語(yǔ)句。

十年的永嘉網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整永嘉建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“永嘉網(wǎng)站設(shè)計(jì)”,“永嘉網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
1. If/Then/Else語(yǔ)句
If/Then/Else語(yǔ)句是最常用的VB.NET條件語(yǔ)句。它的基本形式是:
If condition Then statements1 [Else statements2 ]
它表示:如果condition為True,那么就執(zhí)行statements1;否則執(zhí)行statements2。根據(jù)時(shí)間顯示問(wèn)候信息。
%
If Hour(Now)12 Then Response.Write ("Good morning! Cindy!")
If Hour(Now)=12 Then Response.Write ("Good noon! Cindy!")
If (Hour(Now)12 And Hour(Now)18) Then Response.Write ("Good afternoon! Cindy!")
If Hour(Now)=18 Then Response.Write ("Good evening! Cindy!")
%
在上面的例子中,函數(shù)Hour()是對(duì)給出的日期時(shí)間求它的小時(shí)數(shù),Now函數(shù)用于返回當(dāng)前的日期和時(shí)間。程序根據(jù)當(dāng)時(shí)的時(shí)間判定是上午、中午還是下午,分別給出問(wèn)候信息。我們看到,這個(gè)寫法很簡(jiǎn)單,但是這個(gè)程序?yàn)榱孙@示一條問(wèn)候信息,要對(duì)Hour(Now)取值4次并且執(zhí)行4次比較才能完成,從效率上考慮并不好。If/Then/Else語(yǔ)句還可以寫成比較復(fù)雜的形式:
If condition_1 Then
statements_1
[ElseIf condition_m Then statements_m
[ElseIf condition_n Then…]]
[Else statements_2]
End If
這個(gè)語(yǔ)句可以檢測(cè)多個(gè)條件。第一種寫法要求語(yǔ)句在寫的時(shí)候要在一行中寫完,例如例2.4 的第2行的If語(yǔ)句。這條語(yǔ)句也可以采用第二種方法來(lái)寫,方法如下:
If Hour(Now)12 Then
Response.Write ("Good Morning!Cindy!")
End If
建議用戶采用后一種寫法,因?yàn)檫@種方法更結(jié)構(gòu)化,可讀性好。當(dāng)用戶在調(diào)試大型軟件的代碼時(shí),會(huì)發(fā)現(xiàn),雖然看起來(lái)多寫了幾行語(yǔ)句,但好處卻是很大的。根據(jù)時(shí)間顯示問(wèn)候信息。請(qǐng)注意這個(gè)例子的寫法與上個(gè)例子中的寫法在執(zhí)行效率上的區(qū)別。
%
If Hour(Now)12 Then
Response.Write ("Good morning! Cindy!")
ElseIf Hour(Now)=12 Then
Response.Write ("Good noon! Cindy!")
ElseIf Hour(Now)=18 Then
Response.Write ("Good evening! Cindy!")
Else
Response.Write ("Good afternoon! Cindy!")
End If
%
上面的例子在執(zhí)行的過(guò)程中,對(duì)于當(dāng)前不同的時(shí)間,為了顯示問(wèn)候信息,執(zhí)行的Hour(Now)的取值和比較的次數(shù)是不一樣的:最少只要1次,最多需要3次。
2. Select/Case結(jié)構(gòu)
當(dāng)程序中的條件比較復(fù)雜,而且是根據(jù)同一個(gè)表達(dá)式的不同值執(zhí)行不同操作的時(shí)候,用If/Then/Else語(yǔ)句來(lái)寫就顯得十分煩瑣。這時(shí)可以考慮采用Select/Case結(jié)構(gòu)來(lái)完成VB.NET條件語(yǔ)句。
Select/Case結(jié)構(gòu)為:
Select Case testexpression
Case condition_1
statements_1
[… Case Else statements_n]
End Select
它表示:如果testexpression的值是Condition_1,就執(zhí)行statements_1,以此類推,如果都不符合,就執(zhí)行Statements_n。用Select/Case語(yǔ)句來(lái)實(shí)現(xiàn)問(wèn)候信息的顯示。
%
Select Case Hour(Now)
Case 0,1,2,3,4,5,6,7,8,9,10,11
Response.Write ("Good morning! Cindy!")
Case 12
Response.Write ("Good noon! Cindy!")
Case 13,14,15,16,17
Response.Write ("Good afternoon! Cindy!")
Case Else
Response.Write ("Good evening! Cindy!")
End Select
%
很明顯,用這種方法來(lái)顯示問(wèn)候信息要比用If/Then/Else語(yǔ)句清楚得多。因此,在選擇VB.NET條件語(yǔ)句的時(shí)候要考慮好采用什么方式,并認(rèn)真設(shè)置好條件。
Nodes 集合包含分配給 TreeView 控件的所有 TreeNode 對(duì)象。此集合中的樹(shù)節(jié)點(diǎn)稱作根樹(shù)節(jié)點(diǎn)。隨后添加到根樹(shù)節(jié)點(diǎn)上的任何樹(shù)節(jié)點(diǎn)稱作子節(jié)點(diǎn)。由于每個(gè) TreeNode 都可以包含其他 TreeNode 對(duì)象的集合,您可能會(huì)在循環(huán)訪問(wèn)集合時(shí)覺(jué)得很難確定自己在樹(shù)結(jié)構(gòu)中的位置。您可以使用 PathSeparator 字符串值來(lái)分析 TreeNode.FullPath 字符串,以確定 TreeNode 標(biāo)簽的起始和終止位置。
可以在樹(shù)節(jié)點(diǎn)旁顯示圖像,方法是將一個(gè) ImageList 分配給 ImageList 屬性,然后通過(guò)引用 Image 在 ImageList 中的索引值來(lái)分配該 Image。使用下面的屬性分配圖像:
將 ImageIndex 屬性設(shè)置為當(dāng)樹(shù)節(jié)點(diǎn)未選定時(shí)所顯示的 Image 的索引值。
將 SelectedImageIndex 屬性設(shè)置為當(dāng)樹(shù)節(jié)點(diǎn)被選定時(shí)要顯示的 Image 的索引值。
ImageIndex 和 SelectedImageIndex 屬性值所引用的圖像是所有分配給 Nodes 集合的樹(shù)節(jié)點(diǎn)顯示的默認(rèn)圖像。每個(gè)樹(shù)節(jié)點(diǎn)都可以通過(guò)設(shè)置 TreeNode.ImageIndex 和 TreeNode.SelectedImageIndex 屬性來(lái)取代默認(rèn)的圖像。
樹(shù)節(jié)點(diǎn)可以展開(kāi),以顯示下一級(jí)子樹(shù)節(jié)點(diǎn)。用戶可以在 TreeNode 旁顯示加號(hào) (+) 按鈕時(shí)通過(guò)單擊加號(hào) (+) 按鈕來(lái)展開(kāi) TreeNode,或者可以通過(guò)調(diào)用 TreeNode.Expand 方法來(lái)展開(kāi) TreeNode。若要展開(kāi) Nodes 集合中的所有子樹(shù)節(jié)點(diǎn)級(jí)別,請(qǐng)調(diào)用 ExpandAll 方法。若要折疊子 TreeNode 級(jí)別,可以調(diào)用 TreeNode.Collapse 方法,也可以在 TreeNode 旁顯示減號(hào) (-) 按鈕時(shí)按減號(hào) (-) 按鈕。還可以通過(guò)調(diào)用 TreeNode.Toggle 方法在展開(kāi)和折疊狀態(tài)之間切換。
樹(shù)節(jié)點(diǎn)可以選擇性地顯示復(fù)選框。若要顯示復(fù)選框,請(qǐng)將 TreeView 的 CheckBoxes 屬性設(shè)置為 true。對(duì)于處于選中狀態(tài)的樹(shù)節(jié)點(diǎn),Checked 屬性設(shè)置為 true。
注意
從 BeforeCheck 或 AfterCheck 事件內(nèi)設(shè)置 TreeNode.Checked 屬性將導(dǎo)致該事件被多次引發(fā)并可能產(chǎn)生意外行為。例如,您可以在遞歸更新子節(jié)點(diǎn)時(shí)在事件處理程序中設(shè)置 Checked 屬性,以便用戶不必逐個(gè)展開(kāi)并選中每個(gè)節(jié)點(diǎn)。如果未將 TreeViewEventArgs 的 Action 屬性設(shè)置為 TreeViewAction.Unknown,則若要防止該事件被多次引發(fā),需為僅執(zhí)行遞歸代碼的事件處理程序添加邏輯。有關(guān)如何進(jìn)行此操作的示例,請(qǐng)參見(jiàn) AfterCheck 或 BeforeCheck 事件的示例部分。
通過(guò)設(shè)置 TreeView 控件的一些顯示和樣式屬性,可以更改此控件的外觀。如果將 ShowPlusMinus 設(shè)置為 true,則會(huì)分別在每個(gè)可展開(kāi)或折疊的 TreeNode 旁顯示加號(hào)或減號(hào)按鈕。如果將 ShowRootLines 屬性設(shè)置為 true,TreeView 則會(huì)顯示聯(lián)接所有根樹(shù)節(jié)點(diǎn)之間的連線。通過(guò)將 ShowLines 屬性設(shè)置為 true,可以顯示子樹(shù)節(jié)點(diǎn)與其根節(jié)點(diǎn)之間的連線。如果將 HotTracking 屬性設(shè)置為 true,那么當(dāng)鼠標(biāo)指針移過(guò)樹(shù)節(jié)點(diǎn)標(biāo)簽時(shí),樹(shù)節(jié)點(diǎn)標(biāo)簽的外觀將發(fā)生變化。如果啟用熱跟蹤,樹(shù)節(jié)點(diǎn)標(biāo)簽將具有超鏈接的外觀。也可以完全自定義 TreeView 控件的外觀。若要執(zhí)行此操作,請(qǐng)將 DrawMode 屬性設(shè)置為 TreeViewDrawMode.Normal 以外的值并處理 DrawNode 事件。
注意
在運(yùn)行時(shí)設(shè)置 CheckBoxes、Scrollable、ImageIndex 和 SelectedImageIndex 屬性時(shí),將重新創(chuàng)建 TreeView 句柄(請(qǐng)參見(jiàn) Control.RecreateHandle)以更新控件的外觀。這將折疊除選定的 TreeNode 之外的所有樹(shù)節(jié)點(diǎn)。
下面的代碼示例闡釋了如何使用 TreeView 控件。
Private Sub InitializeTreeView()
treeView1.BeginUpdate()
treeView1.Nodes.Add("Parent")
treeView1.Nodes(0).Nodes.Add("Child 1")
treeView1.Nodes(0).Nodes.Add("Child 2")
treeView1.Nodes(0).Nodes(1).Nodes.Add("Grandchild")
treeView1.Nodes(0).Nodes(1).Nodes(0).Nodes.Add("Great Grandchild")
treeView1.EndUpdate()
End Sub
From MSDN
Structure是值類型,classe是引用類型 Structure用棧來(lái)分配; classe用堆來(lái)分配 structure的成員默認(rèn)情況下是公共的,而Class的成員變量和常量默認(rèn)情況下是私有的而其它成員默認(rèn)情況下是公共的.這與VB6是相兼容的。 structure必須至少有一個(gè)非共享的成員變量或事件成員,class可以完全是空的. Structure的成員不能聲明成Protected; class成員可以. 一個(gè)structure過(guò)程只能在它是一個(gè)Shared Sub時(shí)才能handle events而且只能通過(guò)AddHandler語(yǔ)句;而任何class過(guò)程都可以handle events,既可以用Handles關(guān)鍵字或 AddHandler語(yǔ)句。 Structure variable declarations cannot specify initializers, the New keyword, or initial sizes for arrays; class variable declarations can. Structure繼承自ValueType類,不能從其它任何類型繼承; classes可以從任何不是ValueType的類繼承 Structure不能繼承而Class可以 Structure從來(lái)不析構(gòu)terminated因此common language runtime (CLR)從來(lái)不調(diào)用它的Finalize方法,classe由垃圾回收器進(jìn)行析構(gòu), 當(dāng)沒(méi)有任何對(duì)該類的引用時(shí)調(diào)用它的Finalize方法 structure 不需要一個(gè)構(gòu)造函數(shù),而Class需要 Structure只能有帶參數(shù)的非共享的構(gòu)造函數(shù); classes 可以有帶或不帶參數(shù)的構(gòu)造函數(shù). 每個(gè)Structure都有一個(gè)默認(rèn)的不帶參數(shù)的構(gòu)造函數(shù)以對(duì)其成員進(jìn)行初始化,你可以重新定義該函數(shù)
1、vb.net ?完全符合面向?qū)ο蟮木幊陶Z(yǔ)言抽象、封裝、繼承的四大特性,而vb不支持繼承。
2、錯(cuò)誤處理不同。
vb中只是On Error.....goto和On Errer Resume Next ,這些錯(cuò)誤稱為非結(jié)構(gòu)化異常處理。而在vb.net中采用的結(jié)構(gòu)化異常處理機(jī)制,try...catch....finally控制。
3、兩者產(chǎn)生的窗體不同。
vb.net 允許創(chuàng)建不同類型的應(yīng)用程序,例如,創(chuàng)建ASP.NET和ASP.NET Web 服務(wù)應(yīng)用程序,還允許創(chuàng)建控制臺(tái)應(yīng)用程序和作為桌面服務(wù)運(yùn)行的應(yīng)用程序。但是vb 只能創(chuàng)建Windows窗體。
4、數(shù)據(jù)庫(kù)訪問(wèn)的差別。
vb6.0是通過(guò)ADO(Active X Data Objext)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)。而vb.net 是通過(guò)ADO.NET來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。
擴(kuò)展資料
Visual Basic(簡(jiǎn)稱VB)是Microsoft公司開(kāi)發(fā)的一種通用的基于對(duì)象的程序設(shè)計(jì)語(yǔ)言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮摹瑓f(xié)助開(kāi)發(fā)環(huán)境的事件驅(qū)動(dòng)為機(jī)制的可視化程序設(shè)計(jì)語(yǔ)言。是一種可用于微軟自家產(chǎn)品開(kāi)發(fā)的語(yǔ)言。
“Visual” 指的是開(kāi)發(fā)圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對(duì)象add到屏幕上的一點(diǎn)即可。
“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語(yǔ)言,是一種在計(jì)算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語(yǔ)言。
Visual Basic源自于BASIC編程語(yǔ)言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開(kāi)發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫(kù),或者輕松的創(chuàng)建Active?X控件,用于高效生成類型安全和面向?qū)ο蟮膽?yīng)用程序 。
參考資料:百度百科-Visual Basic
1.一般來(lái)說(shuō),要實(shí)現(xiàn)前后端分離,前端就需要開(kāi)啟一個(gè)本地的服務(wù)器來(lái)運(yùn)行自己的前端代碼,以此來(lái)模擬真實(shí)的線上環(huán)境,并且,也是為了更好的開(kāi)發(fā)。因?yàn)槟阍趯?shí)際開(kāi)發(fā)中,你不可能要求每一個(gè)前端都去搭建一個(gè)java(php)環(huán)境,并且在java環(huán)境下開(kāi)發(fā),這對(duì)于前端來(lái)說(shuō),學(xué)習(xí)成本太高了。
?2.但如果本地沒(méi)有開(kāi)啟服務(wù)器的話,不僅無(wú)法模擬線上的環(huán)境,而且還面臨到了跨域的問(wèn)題,因?yàn)槟闳绻麑戩o態(tài)的html頁(yè)面,直接在文件目錄下打開(kāi)的話,你是無(wú)法發(fā)出ajax請(qǐng)求的(瀏覽器跨域的限制),因此,你需要在本地運(yùn)行一個(gè)服務(wù)器,可是又不想搭建陌生而龐大的java環(huán)境,怎么辦法呢?nodejs正好解決了這個(gè)問(wèn)題。在我們項(xiàng)目中,我們利用nodejs的express框架來(lái)開(kāi)啟一個(gè)本地的服務(wù)器,然后利用nodejs的一個(gè)http-proxy-middleware插件將客戶端發(fā)往nodejs的請(qǐng)求轉(zhuǎn)發(fā)給真正的服務(wù)器,讓nodejs作為一個(gè)中間層。這樣,前端就可以無(wú)憂無(wú)慮的開(kāi)發(fā)了
?3.由于前后端分離后,前端和后臺(tái)同時(shí)開(kāi)發(fā)時(shí),就可能遇到前端已經(jīng)開(kāi)發(fā)好一個(gè)頁(yè)面了,可是卻等待后臺(tái)API接口的情況。比如說(shuō)A是負(fù)責(zé)前端,B是負(fù)責(zé)后臺(tái),A可能用了一周做好了基本的結(jié)構(gòu),并且需要API接口聯(lián)調(diào)后,才能繼續(xù)開(kāi)發(fā),
?4.而此時(shí)B卻還沒(méi)有實(shí)現(xiàn)好所需要的接口,這種情況,怎么辦呢?在我們這個(gè)項(xiàng)目里,我們是通過(guò)了mock來(lái)提供一些假數(shù)據(jù),我們先規(guī)定好了API接口,設(shè)計(jì)出了一套API文檔,然后我們就可以通過(guò)API文檔,利用mock來(lái)返回一些假數(shù)據(jù),這樣就可以模擬發(fā)送API到接受響應(yīng)的整一個(gè)過(guò)程,
?5.因此前端也不需要依賴于后端開(kāi)發(fā)了,可以獨(dú)立開(kāi)發(fā),等到后臺(tái)的API全部設(shè)計(jì)完之后,就可以比較快速的聯(lián)調(diào)。
網(wǎng)頁(yè)標(biāo)題:vb.net的分支結(jié)構(gòu) VB的結(jié)構(gòu)
網(wǎng)站路徑:http://chinadenli.net/article2/hijeoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、App開(kāi)發(fā)、做網(wǎng)站、品牌網(wǎng)站建設(shè)、用戶體驗(yàn)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)