String()Array ToLower的所有元素,使用LINQ

时间:2013-10-17 09:21:09

标签: .net arrays vb.net string tolower

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

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

Dim ToLower_fileExtensions = fileExtensions().Select...

(不使用For)

3 个答案:

答案 0 :(得分:2)

试试这个:

Dim ToLower_fileExtensions = From w in fileExtensions Select IF(w Is Nothing, Nothing, w.ToLower())

答案 1 :(得分: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()

答案 2 :(得分:-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:很高兴将其转换为扩展名