如何设置使用LINQ降低字符串数组的所有元素?
Dim fileExtensions() As String = {"Mp3", "mP4", "wMw", "weBM", Nothing, ""}
Dim ToLower_fileExtensions = fileExtensions().Select...
(不使用For)
答案 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:很高兴将其转换为扩展名