2014-05-22 20 views
9

'daki gibi İfadeleri İfadeleri Birlikte Seç Eğer Kılıfları bir araya toplarsam, tek olarak çalışmazlar. VB.NET Kılıfları, Exit Select/Return kullanımını gerektirmediği için, otomatik olarak yeni bir Kasa algılandığında bunu otomatik olarak koymuş gibi görünüyor mu?VB.NET İstifleme Select C#/Java

Dim Test as Integer = 12 

Select Case Test 
    Case 11 
    Case 12 
    Case 13 
    MsgBox.Show("Could be 11 or 12 or 13?") 
End Select 

Sadece 13 eser çalışmak görünmüyor .. O senin anlayış doğrudur applications.`

+0

[dotnet perls site] (http://www.dotnetperls.com/select-vbnet) aynı hatada beni tahrik etti ... – Zac

+0

Haha evet birisi yanlış aldığını o siteye bildirmelidir – SSpoke

cevap

14

taşıma sırasında bunu hatırlamak kolay değil

Gotta always remember this rule that you can't stack Cases like this from now on
. VB "düşmek" olmaz.

tek Case belirtin ve virgül Her bir ifadenin ayırın: Daha fazla bilgi için

Select Case Test 
    Case 11 To 13 
     MsgBox.Show("Could be 11 or 12 or 13?") 
End Select 

: Alternatif

Select Case Test 
    Case 11, 12, 13 
     MsgBox.Show("Could be 11 or 12 or 13?") 
End Select 

, aynı şeyi başarmak için To anahtar kelime içeren bir aralık da kullanabilirsiniz bakınız the documentation.

+1

Teşekkürler Eğer hepsi aynı şey boşsa, yukarıdaki kalıbı algılamalıdır ama sonra tekrar göz ardı filtresi olarak kullanma yeteneğini kaybedersiniz. – SSpoke

+0

Bu argüman için hazır. Katılıyorum çünkü desen için kullanıyorum ama birçok VB insanı için kafa karıştırıcı olabilir. Hata ayıklama sırasında durumdan sonra tek bir beyanda bulunduğunuz durumu düşünün. Çünkü VB bir "kırılma" gerektirmiyor, yeni davranışı açıklamak gerçekten zor olacak - neden düşmeye başladı. Bu açık bir davranış değil, ya da koda bakmak net değil. –

+1

Şimdi düşünürsünüz, muhtemelen BASIC'yi çağlardan beri nasıl işlettiğinin bir parçası olduğu için muhtemelen tbh'ya değiştirmemeli, artı daha iyi bir özellik ile bu anahtarın daha iyi bir özelliği olmadığı anlaşılıyor. Ilgili konuları oldukça güçlü şeyler '<' '>' karşılaştırmaları gördük. 'Bu kuralları her zaman hatırlamanız gerekir ki bunları şimdi yığın halinde taşıyamazsınız. – SSpoke