1

他に考えられる 2 つの文字列を確認するにはどうすればよいですか... (コード例を参照)

Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' Input path.
        Dim p As String = TextBox1.Text
        ' Get extension.
        Dim extension As String = Path.GetExtension(p)

        If extension = ".abc" Or ".xyz" Then
            'nothing
            Label1.Text = "file type suported"
        Else
            Label1.Text = "Unsuported file type"
        End If
    End Sub
End Class
4

6 に答える 6

2

サポートされている拡張機能を文字列に入れることもできます

Dim ValidExtensions As String = ".abc.xyz"

それで

If ValidExtensions.Contains(extension) Then
        Label1.Text = "file type suported"
Else
    Label1.Text = "Unsuported file type"
End If   

このようにして、サポートする拡張機能の数や、リストに加えた変更は関係なく、コードが機能するようにメインの文字列を変更するだけです。

さらに、ユーザーがサポートされているファイルの種類を変更できるようにする場合は、プログラムで変更を加えることができます。

于 2013-06-24T08:18:06.420 に答える
0

HashSet<string>サポートされているすべての拡張機能を構造体に格納し、Containsメソッドを使用して、指定された拡張機能がサポートされているかどうかを確認します。

Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim supportedExtensions As New System.Collections.Generic.HashSet(Of String)
        supportedExtensions.Add(".abc")
        supportedExtensions.Add(".xyz")

        ' Input path.
        Dim p As String = TextBox1.Text
        ' Get extension.
        Dim extension As String = Path.GetExtension(p)

        If (supportedExtensions.Contains(extension)) Then
            'nothing
            Label1.Text = "file type suported"
        Else
            Label1.Text = "Unsuported file type"
        End If
    End Sub
End Class

更新:サポートされている拡張機能の数が増えると、拡張機能のサポート チェックに必要な OR 条件が増え、コードの読みやすさと保守性に影響します。したがって、このコード スニペットは読みやすさを向上させます。

于 2013-06-24T08:17:15.150 に答える