是否有内置的方法将数组的每个成员乘以一些数字?
示例:
Dim volts () as Double = {1.243, 0.534, 5.343, 2.223, 4.334}
Dim millivolts (4) as Double = volts.MultiplyEachBy(1000) 'something like this
答案 0 :(得分:9)
您可以使用Array.ConvertAll
方法。
Array.ConvertAll(volts, Function(x) x * 1000)
修改强>
示例代码中存在一个小错误,需要针对以上内容进行更正才能进行编译。从变量类型
中删除显式大小(4)Dim volts() As Double = {1.243, 0.534, 5.343, 2.223, 4.334}
答案 1 :(得分:0)
我认为没有内置的方法可以做到这一点,但我能想到的最好的事情就是创建自己的方法。像
这样的东西Public Function convertMilliamps(ByVal voltArray() As Double)
For Each item AS Double In voltArray
item = item * 1000
Next
Return voltArray()
End Function
然后只做伏特= convertMilliamps(伏特)
答案 2 :(得分:0)
您的功能对每个项目都不起作用,因为项目是值的副本,而不是数组中的实际项目。这应该有效:
Public Function MultiplyArrayByScalar(ByRef arry As Double(), ByVal scaler As Double) As Double()
Dim newArry As Double()
Dim size As Integer = arry.GetLength(0)
ReDim newArry(size - 1)
Dim i As Integer
For i = 0 To size - 1
newArry(i) = arry(i) * scaler
Next
Return newArry
End Function