Dizinin her üyesini yerinde bir sayıyla çarpmak için yerleşik bir yol var mı?VB.NET Dizi Aritmetik
Örnek:
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
Dizinin her üyesini yerinde bir sayıyla çarpmak için yerleşik bir yol var mı?VB.NET Dizi Aritmetik
Örnek:
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
Sen Array.ConvertAll
yöntemi kullanabilirsiniz.
Array.ConvertAll(volts, Function(x) x * 1000)
DÜZENLEME
derlemek için yukarıdaki düzeltilmesi gereken bir örnek kod küçük bir hata vardır.
Dim volts() As Double = {1.243, 0.534, 5.343, 2.223, 4.334}
@Steven, değişken voltları nasıl beyan ettiğiniz konusunda ufak bir hata var. Açık boyutu 4 kaldırmanız gerekiyor – JaredPar
Ben bunu yapmanın şekilde inşa olduğunu sanmıyorum, ama yapacak Bence en iyi şey sadece kendi yöntemini oluşturmak olacaktır değişken türünden açık boyutu (4) çıkarın .
Public Function convertMilliamps(ByVal voltArray() As Double)
For Each item AS Double In voltArray
item = item * 1000
Next
Return voltArray()
End Function
gibi bir şey o zaman sadece do volt = convertMilliamps (volt)
bir öğe diziden değerinin bir kopyası değil, asıl öğe olduğu için fonksiyon her bir öğe için çalışmaz. Bu çalışma:
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
.net framework'ün hangi sürümünü kullanıyorsunuz? – Andrew