所以我正在制作一个需要检查文件是否为视频/音频格式的程序。
为此,我有这段代码(歌曲是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
或者是否有某种方法可以测试一行中的所有条件?
答案 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