我只发现了返回字符串数组的重载。
是否存在没有List(Of String)
的具体原因?
我必须写
Dim nNewStringArray() As String
ReDim nNewStringArray(0)
nNewStringArray = System.IO.Directory.GetFiles(uInitDir)
而不是只能写
Dim nNewListOfString As New List(Of String) = System.IO.Directory.GetFiles(uInitDir)
我觉得Redim
有点老了。
答案 0 :(得分:1)
我可以想到3个原因(没有特别的顺序):
当开发方法时,没有泛型,因此没有List<T>
。所以string[]
是当时最好的强类型选项。
你不能通过返回类型重载方法,所以它必须被称为GetListOfFiles()
(坏)或者是一个突破性的变化(非常糟糕)
它同样容易:
Dim nNewListOfString As New List(Of String) (System.IO.Directory.GetFiles(uInitDir))
另外,如您的问题评论中所述,您不需要 到ReDim
您的阵列。你可以这样做:
Dim nNewStringArray() As String
nNewStringArray = System.IO.Directory.GetFiles(uInitDir)
或只是
Dim nNewStringArray() As String = System.IO.Directory.GetFiles(uInitDir)
如果你愿意的话。我将结果转换为List
的唯一原因是我要向其中添加项目。几乎所有其他事情都可以用数组来完成。