Select...Case Deyimi (Visual Basic)

Birkaç Grup ifadeler, bir deyimin değerine bağlı olarak çalışır.

Select [ Case ] testexpression
    [ Case expressionlist
        [ statements ] ]
    [ Case Else
        [ elsestatements ] ]
End Select

Bölümleri

Terim

Tanım

testexpression

Gerekli.İfade.Must evaluate to one of the elementary data types (Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, SByte, Short, Single, String, UInteger, ULong, and UShort).

expressionlist

Gerekli bir Case ifadesi.Eşleşen değerleri temsil eden bir ifade yan tümceleri listesini testexpression.Birden çok ifade yan tümceleri virgüllerle ayrılır.Her yan tümcesi aşağıdaki biçimlerden birini alabilir:

  • İfade1 To İfade2

  • IsKarşılaştırmaİşleciifade 

  • ifade

Use To eşleşen bir dizi sınırları belirlemek için anahtar değerleri için testexpression.Değeri expression1 değerine eşit veya daha az olmalıdır expression2.

Use Is anahtar sözcüğü ile bir karşılaştırma işleci (=, <>, <, <=, >, veya >=) eşleşen değerleri hakkında bir kısıtlama belirlemek için testexpression.Is Anahtar sözcüğünü sağlanmadı, önce otomatik olarak eklenir Karşılaştırmaİşleci.

Yalnızca belirleme formu expression özel bir durum kabul Is formu nereye Karşılaştırmaİşleci eşit işaretidir (=).Bu formu olarak değerlendirilen testexpression = expression.

İfadelerde expressionlist türüne örtük olarak dönüştürülebilir olmaları koşuluyla, herhangi bir veri türünde olabilir testexpression ve uygun comparisonoperator birlikte kullanıldığı iki türleri için geçerlidir.

statements

İsteğe Bağlı.İfadeleri aşağıdakilerden bir veya daha fazla Case çalışma ise testexpression eşleşen herhangi bir yan expressionlist.

elsestatements

İsteğe Bağlı.İfadeleri aşağıdakilerden bir veya daha fazla Case Else çalışma ise testexpression herhangi bir yan tümcesinde eşleşmiyor expressionlist herhangi bir Case deyimleri.

End Select

Tanımını sonlandırır Select...Case yapım.

Notlar

testexpression Eşleşir Caseexpressionlist yan tümcesi, aşağıdaki deyimleri Case deyimini çalıştırın İleri Case, Case Else, veya End Select ifadesi. Denetim daha sonra deyimi aşağıdaki End Select.testexpression Eşleşen bir expressionlist yan tümcesinde birden fazla Case yan tümcesi yalnızca ilk eşleşmeden deyimlerini çalıştırın.

Case Else Tanıtmak için kullanılan deyim elsestatements arasındaki eşleşme bulunursa, çalıştırmak için testexpression ve bir expressionlist diğer herhangi bir yan Case deyimleri.Gereklilik olmasa da, sahip iyi bir fikir olduğu bir Case Else deyiminde, Select Case işlemek için yapım öngörülemeyen testexpression değerler.Yok, Caseexpressionlist yan tümcesinin eşleşen testexpression ve hiç Case Else deyimi, deyimi aşağıdaki denetim geçişleri End Select. 

Birden çok ifadeler veya aralıkları her birini kullanabilirsiniz Case yan tümcesi.Örneğin, aşağıdaki satırı geçerli değil.

Case 1 To 4, 7 To 9, 11, 13, Is > maxNumber

[!NOT]

Is Kullanılan anahtar sözcük Case ve Case Else deyimleri değil aynı Is İşleci (Visual Basic), nesne başvurusu karşılaştırma için kullanılan.

Aralıkları ve karakter dizeleri için birden çok deyimleri belirtebilirsiniz.Aşağıdaki örnekte, Case "elmalar" için tam olarak eşit olan alfabetik olarak "nuts" ve "çorba" arasında bir değere sahip ya da geçerli değeri tam aynı değeri içeren herhangi bir dizeyi testItem.

Case "apples", "nuts" To "soup", testItem

Ayarı Option Compare dize karşılaştırmaları etkileyebilir.Altında Option Compare Text, "Elmalar" ve "elmalar" dizeleri eşit, ancak altında karşılaştırma Option Compare Binary, bunlar yapın.

[!NOT]

A Case ifadesi ile birden çok yan tümce davranışlar olarak bilinen short-circuiting.Visual Basic yan tümceleri soldan sağa değerlendirir ve fazlası ile eşleşmeyi üreten testexpression, kalan yan tümceleri değerlendirilmez.Short-circuiting performansı geliştirebilir, ancak her ifadede beklediğiniz, beklenmeyen sonuçlara yol açabilir expressionlist değerlendirilecek.Short-circuiting hakkında daha fazla bilgi için bkz: Boolean İfadeleri (Visual Basic).

Kod içinde bir Case veya Case Else deyimi bloğu bloğunda deyimleri artık çalıştırmak gereksinim, blok kullanarak çıkabilirsiniz Exit Select ifadesi.Bu denetim deyimi şuna hemen aktarır End Select.

Select Caseyapısının iç içe olabilir.Her iç içe Select Case yapım eşleşen bir olması gerekir End Select deyimi ve tek bir tamamen bulunmalıdır Case veya Case Else deyimi bloğu dış Select Case içinde onu yuvalanmış yapım.

Örnek

Aşağıdaki örnek bir Select Case değişkenin değerine karşılık gelen bir satır yazmak için yapım number.İkinci Case deyimi geçerli değerini eşleşen değeri içeren number, "6 ve 8 (dahil) arasında" deyimi, yazar için çalışır.

Dim number As Integer = 8
Select Case number
    Case 1 To 5
        Debug.WriteLine("Between 1 and 5, inclusive")
        ' The following is the only Case clause that evaluates to True. 
    Case 6, 7, 8
        Debug.WriteLine("Between 6 and 8, inclusive")
    Case 9 To 10
        Debug.WriteLine("Equal to 9 or 10")
    Case Else
        Debug.WriteLine("Not between 1 and 10, inclusive")
End Select

Ayrıca bkz.

Başvuru

Choose

End Deyimi

If...Then...Else Deyimi (Visual Basic)

Option Compare Deyimi

Exit Deyimi (Visual Basic)