测试特定字符VB.NET的字符串

mad*_*lan 1 .net

我有一个具有FTP权限的字符串 - "LRSDCWAN"如果字符串包含相关字符,是否有更有效的检查相关CheckBox的方法?

        If reader.Item("home_perm").Contains("L") Then
            CBoxList.Checked = True
        End If
        If reader.Item("home_perm").Contains("R") Then
            CBoxRead.Checked = True
        End If
        If reader.Item("home_perm").Contains("S") Then
            CBoxSubDir.Checked = True
        End If
        If reader.Item("home_perm").Contains("D") Then
            CBoxDelete.Checked = True
        End If
        If reader.Item("home_perm").Contains("C") Then
            CBoxCreate.Checked = True
        End If
        If reader.Item("home_perm").Contains("W") Then
            CBoxWrite.Checked = True
        End If
        If reader.Item("home_perm").Contains("A") Then
            CBoxAppend.Checked = True
        End If
        If reader.Item("home_perm").Contains("N") Then
            CBoxRename.Checked = True
        End If
Run Code Online (Sandbox Code Playgroud)

谢谢.

Dan*_*eph 5

虽然它没有摆脱你的.Contains()问题,但你可以相当简化逻辑.

如果您注意到,您正在使用:

If reader.Item("home_perm").Contains("L") Then
    CBoxList.Checked = True
End If
Run Code Online (Sandbox Code Playgroud)

你可以简单地说一下

CBoxList.Checked = reader.Item("home_perm").Contains("L")
Run Code Online (Sandbox Code Playgroud)

您可以为所有复选框执行此操作.它没有解决需要调用contains,但它消除了2/3的代码行.