ForEach仅返回最后一个值 [英] ForEach Returns only the last value
本文介绍了ForEach仅返回最后一个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我很难用foreach返回值.
它必须返回正确的6行,但是每一行都有一个唯一的列,并且仅显示最后一行,有人知道我能做什么吗?
Hi, I'm having a hard time returning values using the foreach.
It has to return me 6 lines that is correct, but there is a column that is unique for each line and it shows only the last one, does anyone have any idea what I can do?
Imports Newtonsoft.Json
Imports System.IO
Imports System.Net
Imports Microsoft.SqlServer.Server
Partial Public Class WSMegaSena
<Microsoft.SqlServer.Server.SqlFunction(DataAccess:=DataAccessKind.Read, FillRowMethodName:="FillRow", TableDefinition:="NumeroConcurso nvarchar(max),Dezena nvarchar(max),DataRealizacao nvarchar(max)")> _
Public Shared Function fn_Retorna_ResultadoMS() As IEnumerable
Dim rowsArray As New ArrayList()
SetData(rowsArray)
Return rowsArray
End Function
Public Shared Sub FillRow(ByVal obj As Object, ByRef NumeroConcurso As String, _
ByRef Dezena As String, _
ByRef DataRealizacao As String
)
Dim row As Object() = DirectCast(obj, Object())
NumeroConcurso = DirectCast(row(0), String)
Dezena = DirectCast(row(1), String)
DataRealizacao = DirectCast(row(2), String)
End Sub
Public Shared Sub SetData(ByVal rowsArray As ArrayList)
Dim address As String = "http://wsloterias.azurewebsites.net/api/sorteio/getresultado/1"
Dim client As WebClient = New WebClient()
Dim reader As StreamReader = New StreamReader(client.OpenRead(address))
Dim json = (reader.ReadToEnd)
Dim objs As RootObject = JsonConvert.DeserializeObject(Of RootObject)(json)
Dim column As Object() = New Object(3) {}
Dim numeroConcurso As String = 0, Dezena As String = 0, DataRealizacao = ""
Dim i As Integer = 0
For Each nums In objs.Sorteios
For Each ds In nums.Numeros
numeroConcurso = DirectCast(objs.NumeroConcurso.ToString, String)
Dezena = ds.ToString
DataRealizacao = DirectCast(objs.Data.ToString, String)
column(0) = numeroConcurso
column(1) = Dezena
column(2) = DataRealizacao
rowsArray.Add(column)
i = i + 1
Next ds
Next nums
End Sub
End Class
在第10列中,您必须退还给我50 22 06 37 30 17
它使我回到了所有行17
In the 10th column you have to return me 50 22 06 37 30 17
And it has returned me 17 to all lines
Fabiano Carvalho
Fabiano Carvalho
推荐答案
我认为您必须移动"Dim列……" 内部变量 对于每个循环.每行应代表一个新的不同对象.
I think that you have to move the ‘Dim column…’ variable to the inner For Each loop. Each row should represent a new different object.
这篇关于ForEach仅返回最后一个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文