如何使用 LINQ 设置降低字符串数组的所有元素?
Dim fileExtensions() As String = {"Mp3", "mP4", "wMw", "weBM", Nothing, ""}
Dim ToLower_fileExtensions = fileExtensions().Select...
(不使用 For)
试试这个:
Dim ToLower_fileExtensions = From w in fileExtensions Select IF(w Is Nothing, Nothing, w.ToLower())
简单有效的方法:
For i As Int32 = 0 To fileExtensions.Length - 1
fileExtensions(i) = fileExtensions(i).ToLower()
Next
由于您要求使用 linq,因此效率较低,因为它需要创建一个新集合:
fileExtensions = fileExtensions.Select(Function(str) str.ToLower()).ToArray()
只是我基于@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:很高兴将其转换为扩展名