1

我正在尝试验证文本框。如果用户输入所有小写字符,则将其转换为全部大写。因此,当它添加到数据库时,它的全部大写。我的功能需要帮助,我不知道是语法错误还是什么,就在这里。我正在使用 VB.Net 2010

Public Function CheckLetters(ByVal strIn As String) As Boolean

    Dim i As Integer
    Dim strOne As String

    For i = 0 To Len(strIn) - 1

        strOne = strIn.Substring(i, 1).ToUpper
        Select Case strOne

            Case "A" To "Z"
            Case Else

                Return False
        End Select
    Next

    Return True
End Function
4

2 回答 2

1

这个怎么样:

Return Regex.IsMatch(strIn, "^[a-z]*$")

或这个

Return strIn.All(Function(c) Char.IsLower(c))

这种方法除了单线之外没有什么好的理由。但如果你真的想遍历字符:

For Each c As Char In strIn
   If Not Char.IsLower(c) Then Return False
Next c
Return True
于 2012-10-04T04:01:53.213 回答
0

您的代码在这里运行得很好(VB 不需要 ToUpper 之后的括号,但它有利于可读性) - 它接受一个字符串,如果该字符串仅包含字符“A”到“Z”,则返回 True,否则返回 false。该函数不转换任何东西 - 只是返回该布尔结果。

如果您想实际将字符串转换为大写,只需在字符串本身上使用 .ToUpper() ,例如

Dim MyString As String = "Contains some text"

MyString = MyString.ToUpper()

' Above would set MyString to "CONTAINS SOME TEXT"
于 2012-10-03T22:35:35.827 回答