我有一个数组作为我的函数的传入参数,我想将数组元素分配给变量,如:
Dim Par1 As String = Array(0).ToString
Dim Par2 As String = Array(1).ToString
...
但是存在一个问题,因为这个可变大小的数组(0-10)所以不可能以硬编码的方式分配变量。是否有一种优雅的方法可以根据数组大小动态地将元素分配给变量?
更新:到目前为止,我有这个愚蠢的代码:
If Params.Length > 0 Then Dim Par1 As String = Array(0).ToString
If Params.Length > 1 Then Dim Par2 As String = Array(1).ToString
...
If Params.Length > 10 Then Dim Par11 As String = Array(10).ToString
让我知道是否有更好的方法...... oops ...似乎我必须先明确声明变量......
答案 0 :(得分:0)
如果你的目标是可读性,我想你会想要循环你的项目。你必须在设计时声明一个未知数量的变量,这意味着如果检查然后放入变量你会有很多变量(然后你可能需要声明很多你在某些情况下不会使用的变量) 。此外,你通过复制它们使你拥有的字符串数量增加了一倍(我假设它们是字符串)。这是一些循环的例子。
我创建了一个可变大小的字符串数组(就像你说你会被传入)。然后,我遍历每个项目并为其分配一个我编写的值。在我为每个循环显示一个将遍历每个项目之后。
' Random number generator
Dim rnd As New Random
' Declare a string array of variable size
Dim variableArray(rnd.Next(10)) As String
' Loop by index, we'll just assign some text as an example
For x As Integer = 0 To variableArray.Count - 1
variableArray(x) = String.Format("Item {0}", x)
Next
' Alternate way to loop over your array with a for each
For Each item As String In variableArray
Console.WriteLine(item)
Next
Console.WriteLine("Press any key to exit...")
Console.ReadKey()
也就是说,如果您知道哪些变量进入并且它们具有意义,您可以将它们分配给您创建的类(或有意义的变量名称)中的对象中的属性。