Vb.net 从特定位置VB开始的元素列表总和
有没有一种方法可以对列表中的元素求和,但要从VB中的某个特定位置开始 例如,如果我有一个包含10个双精度{1,2,3,4,5,6,7,8,9,10}的列表,我只想求前5个的和,或者只求最后5个的和Vb.net 从特定位置VB开始的元素列表总和,vb.net,Vb.net,有没有一种方法可以对列表中的元素求和,但要从VB中的某个特定位置开始 例如,如果我有一个包含10个双精度{1,2,3,4,5,6,7,8,9,10}的列表,我只想求前5个的和,或者只求最后5个的和 我知道.Sum()函数,但我没有弄清楚如何更改起点/终点。这应该正是您想要的 Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim l As Dou
我知道.Sum()函数,但我没有弄清楚如何更改起点/终点。这应该正是您想要的
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim l As Double() = New Double() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
'first 5
MsgBox(sumit(l, 0, 5))
MsgBox("done")
' last 5
MsgBox(sumit(l, l.Length - 5, 5))
End Sub
Function sumit(ByVal doublearray As Double(), ByVal startingpoint As Integer, ByVal endingpoint As Integer)
Return Enumerable.Range(startingpoint, ((endingpoint))).Select(Function(i) doublearray(i)).Sum
End Function
End Class
这正是你想要的
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim l As Double() = New Double() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
'first 5
MsgBox(sumit(l, 0, 5))
MsgBox("done")
' last 5
MsgBox(sumit(l, l.Length - 5, 5))
End Sub
Function sumit(ByVal doublearray As Double(), ByVal startingpoint As Integer, ByVal endingpoint As Integer)
Return Enumerable.Range(startingpoint, ((endingpoint))).Select(Function(i) doublearray(i)).Sum
End Function
End Class
在使用
Sum
方法之前,可以使用Skip
跳过前几个列表元素,使用Take
方法限制要处理的元素数量
Dim myList As New List(Of Double) From {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Dim first5, last5, thirdToSeventh As Double
first5 = myList.Take(5).Sum
last5 = myList.Skip(5).Sum
thirdToSeventh = myList.Skip(2).Take(5).Sum
在使用
Sum
方法之前,可以使用Skip
跳过前几个列表元素,使用Take
方法限制要处理的元素数量
Dim myList As New List(Of Double) From {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Dim first5, last5, thirdToSeventh As Double
first5 = myList.Take(5).Sum
last5 = myList.Skip(5).Sum
thirdToSeventh = myList.Skip(2).Take(5).Sum
使用循环,例如
for
?使用“Take”功能。Take(5)应给出前五个(或最后五个,取决于排序)使用循环,例如for
?使用“Take”功能。Take(5)应该给出前五个(或最后五个,取决于排序)为什么在可以从参数中给它startingpoint
的值时将i
初始化为0?在可以从参数中给它startingpoint
的值时,为什么将i
初始化为0?