Salve ,
devo estrapolare da una lista generica che contiene oggetti , il valore massimo degli oggetti . Per fare questo ho usato una query di questo tipo:
La classe Carte e composta in questo modo:codice:Public Class Form1 Dim mazzo As New List(Of Carta) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load mazzo.Add(New Carta(1, 2)) mazzo.Add(New Carta(1, 6)) mazzo.Add(New Carta(1, 8)) mazzo.Add(New Carta(1, 3)) mazzo.Add(New Carta(2, 2)) mazzo.Add(New Carta(2, 6)) mazzo.Add(New Carta(2, 8)) mazzo.Add(New Carta(2, 3)) mazzo.Add(New Carta(2, 10)) mazzo.Add(New Carta(3, 2)) mazzo.Add(New Carta(3, 6)) mazzo.Add(New Carta(3, 8)) mazzo.Add(New Carta(3, 3)) For Each b In mazzo ListBox1.Items.Add(b.ToString) Next End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim query1 = From a In mazzo Where a.seme = TextBox1.Text Select a.valore ListBox2.Items.Add(query1.Max) End Sub End Class
Per visualizzare il valore estratto utilizzo una listbox(listbox2) mentre nella listbox1 vengono caricati con l'evento load tutti i valori della list 'mazzo'. Io però vorrei eliminare dalla list mazzo il valore massimo estratto , ho provato ad utilizzare il metodo remove ma non sono riuscito a risolvere.codice:Public Class Carta Public seme As Integer Public valore As Integer Sub New(ByVal a As Integer, ByVal b As Integer) seme = a valore = b End Sub Public Overrides Function ToString() As String Return "Valore : " & valore & " Seme: " & seme End Function End Class
Come potrei fare?codice:mazzo.Remove(query1.max)
Grazie anticipatamente.

Rispondi quotando