Private Sub Command1_Click()
目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、江陵網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
Dim year As Integer, y As Integer
year = Val(InputBox("要判斷的年份是:"))
Call runnian(year, y)
If y = 1 Then
Print Str(year); Spc(2); "年是閏年!"
Else
Print Str(year); Spc(2); "年不是閏年!"
End If
End Sub
Public Sub runnian(n As Integer, x As Integer)
Dim leap As Integer
If n Mod 400 = 0 Then
leap = 1
ElseIf n Mod 4 = 0 And n Mod 100 0 Then
leap = 1
Else
leap = 0
End If
x = leap
End Sub
911 X + 1 916 還有 704 Y +? 1 709,沒有這么連續(xù)判斷的。
是比較運算符,是運算符!+、-、*、/ 是算術(shù)運算符,也是運算符!
既然是運算符,就得按照運算優(yōu)先級(所謂優(yōu)先級,就是 * 運算比 + 運算要優(yōu)先)從左到右依次計算,顯然 911 X + 1 916 里兩個 的運算優(yōu)先級是相同的。
那么從左至右依次計算,先算 911 X + 1,得到結(jié)果 True(-1) 或者 False(0)(不要問我為什么True=-1,F(xiàn)alse=0,.NET里就是這么規(guī)定的),再計算 True / False 916,結(jié)果始終為 True。704 Y + 1 709 也是同理,兩個 True 之間 And 了還是 True,結(jié)果當然是條件一直成立。
正確寫法:
If?(911??X?+?1?And?X?+?1??916)?And?(704??Y?+?1?And?Y?+?1??709)?Then
這個只能是一一判斷的:
為了敘述簡單,假設(shè)有兩個可選條件,內(nèi)容在: TextBox1(姓名)、TextBox2(部門)
主要是構(gòu)造 Sql的Where子句,那么:
Dim MySqlWhere As String
MySqlWhere=""
If TextBox1.Text"" Then
MySqlWhere= " Where 姓名 = '" TextBox1.Text "'"
End If
If TextBox2.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 部門 = '" TextBox1.Text "'"
Else
MySqlWhere= MySqlWhere " And 部門 = '" TextBox1.Text "'"
End If
End If
'如果還有第3,第4,那只能這樣了:
If TextBox3.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 字段3 = '" TextBox3.Text "'"
Else
MySqlWhere= MySqlWhere " And 字段3 = '" TextBox3.Text "'"
End If
End If
......
If TextBoxn.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 字段n = '" TextBoxn.Text "'"
Else
MySqlWhere= MySqlWhere " And 字段n = '" TextBoxn.Text "'"
End If
End If
注意:對于字符類型的字段,當然要用單引號,上面那樣的,但是對于數(shù)值類型,就不要這個單引號的;但是對于日期類型,那么與字符類型不同的是,把前后的2個單引號,改為井號就是“#”, 這是很多初學(xué)者容易忽略的,也是很多教科書上不提的問題。
對于文本框,由于.NET不提供控件數(shù)組,但是還是可以用語句來實現(xiàn)類似數(shù)組的操作,這樣以上IF語句,就可以簡化。
有一個字符串函數(shù):Instr(n,S1,S2)
該函數(shù)的功能:從字符串S1的左起第N位開始,向右逐位進行搜索匹配字符串S2,如果找到匹配,就返回一個整數(shù)指明匹配的位置,否則就返回0。如果缺省n,就是默認從字符串S1的左起第1位開始,進行搜索匹配字符串S2。
例如1:Instr(1,"abcde","a"),返回1
例如2:Instr(3,"abcde","a"),返回0
例如3:Instr(1,"abcde","c"),返回3
例如4:Instr(1,"abcde","cde"),返回3
例如5:Instr(4,"ab12cd12e12","12"),返回7,這里從字符串"ab12cd12e12"左起第4位開始向右搜索匹配字符串"12",找到的是中間一個“12”,這個“12”是位于字符串"ab12cd12e12"左起的第7個字符。
而:Instr(1,"ab12cd12e12","12"),返回3
Instr("ab12cd12e12","12"),返回3
Imports?System.IO
Imports?System.Collections
Imports?System.Text
Public?Class?Form1
Dim?InfoList?As?New?ArrayList
Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load
Dim?fs?As?New?FileStream("c:\1.txt",?FileMode.Open,?FileAccess.Read,?FileShare.None)
Dim?fw?As?New?StreamReader(fs,?Encoding.Default)
Do?Until?fw.EndOfStream
InfoList.Add(fw.ReadLine)
Loop
fw.Close()
fs.Close()
End?Sub
Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click
Dim?tmp?As?String,?a?As?Integer
a?=?-1
tmp?=?TextBox1.Text
For?i?=?0?To?InfoList.Count?-?1
If?InStr(InfoList.Item(i).ToString,?tmp)??0?Then?a?=?i?:?Exit?For
Next
If?a?=?0?Then?TextBox2.Text?=?InfoList.Item(a)
End?Sub
End?Class
如果是要判斷引用類型可以用TypeOf來判斷
Dim s = "666"
If TypeOf (s) Is String Then
Debug.Print("string")
Else
Debug.Print("not string")
End If
如果不知道是否是引用類型,可以這樣判斷:
Dim s = 666
If VarType(s) = VariantType.String Then
Debug.Print("string")
Else
Debug.Print("not string")
End If
或者:
Dim s = 666
If s.GetType = "".GetType Then
Debug.Print("string")
Else
Debug.Print("not string")
End If
本文標題:vb.net判斷條件 vb判斷類型
標題路徑:http://muchs.cn/article46/hheehg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站收錄、微信小程序、虛擬主機、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)