2

如何使用 LINQ 设置降低字符串数组的所有元素?

Dim fileExtensions() As String = {"Mp3", "mP4", "wMw", "weBM", Nothing, ""}

Dim ToLower_fileExtensions = fileExtensions().Select...

(不使用 For)

4

3 回答 3

2

试试这个:

Dim ToLower_fileExtensions = From w in fileExtensions Select IF(w Is Nothing, Nothing, w.ToLower())
于 2013-10-17T09:25:10.163 回答
2

简单有效的方法:

For i As Int32 = 0 To fileExtensions.Length - 1
    fileExtensions(i) = fileExtensions(i).ToLower()
Next

由于您要求使用 linq,因此效率较低,因为它需要创建一个新集合:

fileExtensions = fileExtensions.Select(Function(str) str.ToLower()).ToArray()
于 2013-10-17T09:28:04.427 回答
-1

只是我基于@dasblinkenlight 解决方案所做的一个简单而通用的功能:

Private Function ArrayToLower(ByVal [Array] As IEnumerable) As IEnumerable

    Return From str In [Array] _
            Select If(String.IsNullOrEmpty(str), _
                      String.Empty, _
                      str.ToLower())

End Function

PS:很高兴将其转换为扩展名

于 2013-10-17T09:46:45.957 回答