LIST OF T PARA CALCULOS EM VB.NET

RAS85 17/06/2013 14:50:10
#424888
Prezados, boa tarde! Estou com um problema…..

Preciso criar um [Ô]programa[Ô] no qual insira valores decimais nos [Ô]textbox[Ô] ( do textbox1 ao textbox7) e que esses valores sejam agrupados para retornar o resultado da média, variância e alguns outros cálculos estatísticos ao clicar no botão [Ô]Calcular[Ô].

Estou tentando criar um List of T para isso, porém estou com muita dificuldade e não encontrei uma maneira melhor.

Por enquanto, consegui chegar até aqui:

Imports System
Imports System.Collections.Generic
Imports System.Math

Public Class frmParametros

Private _average As String

Private Property Average(ByVal list As List(Of ponto1)) As String
Get
Return _average
End Get
Set(ByVal value As String)
_average = value
End Set
End Property

Private Sub frmParametros_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim ponto1 As New List(Of Decimal)

ponto1.Add(txtP1R1.Text)
ponto1.Add(txtP1R2.Text)
ponto1.Add(txtP1R3.Text)
ponto1.Add(txtP1R4.Text)
ponto1.Add(txtP1R5.Text)
ponto1.Add(txtP1R6.Text)
ponto1.Add(txtP1R7.Text)

End Sub

Private Sub btnCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalcular.Click
txtMediaP1.Text = Average(List(Of ponto1))

End Sub

Não consigo fazer ele retornar o valor e não consegui identificar a falha, pois sou iniciante em programação...
Alguém sabe como fazer? Ou alguém tem alguma ideia melhor?
Desde já agradeço....
KERPLUNK 17/06/2013 16:43:31
#424892
Resposta escolhida
Tente assim:


Private Sub btnCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalcular.Click

Dim ponto1 As New List(Of Decimal)

ponto1.Add(txtP1R1.Text)
ponto1.Add(txtP1R2.Text)
ponto1.Add(txtP1R3.Text)
ponto1.Add(txtP1R4.Text)
ponto1.Add(txtP1R5.Text)
ponto1.Add(txtP1R6.Text)
ponto1.Add(txtP1R7.Text)
txtMediaP1.Text = Average(List(Of ponto1))

End Sub

RAS85 18/06/2013 09:45:21
#424911

Tentei dessa maneira já, ele acusa um erro, demonstrado na figura! Foi ai que [Ô]empaquei[Ô]....
Ao utilizar a opção de correção do erro, ele gera o seguinte código:

Private Function List(Of T)() As List(Of T)
Throw New NotImplementedException
End Function

Tentei fazer ele retornar de várias maneiras, porém, não encontrei a classe certa.....
KERPLUNK 18/06/2013 11:02:57
#424917
Tente assim:

Dim media As Decimal = t.Average()
txtMediaP1.Text = media
RAS85 18/06/2013 11:34:37
#424920
Não acusa nenhum erro, mas o valor de média dá zero....
Você tem algum link para indicar com um material para estudar?
KERPLUNK 18/06/2013 11:53:10
#424924
Você substituiu o t.Average() por ponto1.Average()
RAS85 18/06/2013 13:00:15
#424928
Muito bom Kerplunk, outra vez vc me ajudou muito...
O código ficou o seguinte:

Private Sub btnCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalcular.Click

Dim ponto1 As New List (Of Decimal)

ponto1.Add(txtP1R1.Text)
ponto1.Add(txtP1R2.Text)
ponto1.Add(txtP1R3.Text)
ponto1.Add(txtP1R4.Text)
ponto1.Add(txtP1R5.Text)
ponto1.Add(txtP1R6.Text)
ponto1.Add(txtP1R7.Text)

Dim media As Decimal = ponto1.Average()

txtMediaP1.Text = media

End Sub

Valeu!!!
Abç....
Tópico encerrado , respostas não são mais permitidas