是否有一种缩短的方法来循环VB.NET中的IF条件

时间:2017-08-20 01:06:14

标签: vb.net if-statement conditional-statements

所以我正在制作一个需要检查文件是否为视频/音频格式的程序。 为此,我有这段代码(歌曲是System.IO.FileInfo):

If Song.Extension.ToUpper = ".MP4" Or Song.Extension = ".AVI" Or Song.Extension = ".MP3" Or Song.Extension = ".AA" Or Song.Extension = ".M4A" Or Song.Extension = ".AIFF" Or Song.Extension = ".WAV" Or Song.Extension = ".M4V" Or Song.Extension = ".AAC" Or Song.Extension = ".VOB" Then

问题是这只检查前两个条件。 我是否需要将其拆分为单独的If或者是否有某种方法可以测试一行中的所有条件?

2 个答案:

答案 0 :(得分:6)

你可以创建一个包含所有扩展名的集合:

setdefault

并使用Dim extensions As New HashSet(Of String) From { ".mp4", ".avi", ".mp3", ".aa", ".m4a", ".aiff", ".wav", ".m4v", ".aac", ".vob" } 检查其中是否包含值:

Contains

答案 1 :(得分:1)

在我看来,使用只有一种情况的精选案例构造会更容易:

    Select Case Song.Extension.ToLower
        Case ".mp4", ".avi", ".mp3", ".aa", ".m4a", ".aiff", ".wav", ".m4v", ".aac", ".vob"
            'Do something
    End Select