6 messaggi dal 01 maggio 2016
Ciao a tutti.

Ho un lista di STRUCTURE che hanno queste property:

codice:
Public Structure Cliente
Public Property Nome As String
Public Property Automobile As String
...

Il programma funziona regolarmente ed in una lista vengono aggiunti questi oggetti:
codice:
Cliente.Nome= "Marco" , Cliente.Autombile= "Panda"
Cliente.Nome= "Carlo" , Cliente.Autombile= "Panda"
Cliente.Nome= "Luca" , Cliente.Autombile= "Clio"
Cliente.Nome= "Marco" , Cliente.Autombile= "Punto"

In pratica vorrei sapere con poche istruzioni se possibile:
Panda = 2
Clio = 1
Punto = 1

Marco = 2
Carlo =1
Luca =1

c'è qualche istruzione per farlo immediatamente? Io ho dovuto creare un ciclo di conteggio, un codice molto lungo.
Si può fare semplicemente?


Grazie!
557 messaggi dal 11 febbraio 2013
fai una cosa cosi ?

public struct Cliente
    {
        public string Nome { get; set; }
        public string Automobile { get; set; }
        public Cliente(string nome, string auto)
        {
            this.Nome = nome;
            this.Automobile = auto;
        }
        public override string ToString()
        {
            return "Nome: " + this.Nome + ", Automobile: " + this.Automobile;
        }
    }

    public class Search
    {
        private List<Cliente> lista;
        public Search(List<Cliente> listaClienti)
        {
          this.lista = listaClienti;
        }
        public int NumeroAutoPerNome(IEnumerable<Cliente> clienti, string auto)
        {
            return clienti.Where(i => i.Automobile == auto).Count();
        }
        public IEnumerable<Cliente> ListaAutoPerNome(IEnumerable<Cliente> clienti, string auto)
        {
            foreach (var cl in clienti.Where(i => i.Automobile == auto))
                yield return cl;
        }
}
    class Program
    {
        static void Main(string[] args)
        {
            var cl1 = new Cliente("Mike", "Panda");
            var cl2 = new Cliente("John", "Ferrari");
            var cl3 = new Cliente("Chris", "Panda");

            List<Cliente> lista = new List<Cliente>();
            lista.Add(cl1);
            lista.Add(cl2);
            lista.Add(cl3);

            var search = new Search(lista);
            var auto = search.ListaAutoPerNome(lista, "Panda");
            var num = search.NumeroAutoPerNome(lista, "Panda");
          
        }
    }

Modificato da jjchuck il 08 gennaio 2018 11.47 -
6 messaggi dal 01 maggio 2016
Ma questo è in C.
Io sto parlando di VB.net
557 messaggi dal 11 febbraio 2013
Vedi se questo compila...ho usato un "traduttore"
Public Structure Cliente
    
    Public Property Nome As String
        Get
        End Get
        Set
        End Set
    End Property
    
    Public Property Automobile As String
        Get
        End Get
        Set
        End Set
    End Property
    
    Public Sub New(ByVal nome As String, ByVal auto As String)
        MyBase.New
        Me.Nome = nome
        Me.Automobile = auto
    End Sub
    
    Public Overrides Function ToString() As String
        Return ("Nome: "  _
                    + (Me.Nome + (", Automobile: " + Me.Automobile)))
    End Function
End Structure
Public Class Search
    
    Private lista As List(Of Cliente)
    
    Public Sub New(ByVal listaClienti As List(Of Cliente))
        MyBase.New
        Me.lista = listaClienti
    End Sub
    
    Public Function NumeroAutoPerNome(ByVal clienti As IEnumerable(Of Cliente), ByVal auto As String) As Integer
        Return clienti.Where(() => {  }, (i.Automobile = auto)).Count
    End Function
    
    Public Function ListaAutoPerNome(ByVal clienti As IEnumerable(Of Cliente), ByVal auto As String) As IEnumerable(Of Cliente)
        For Each cl In clienti.Where(() => {  }, (i.Automobile = auto))
            yield
        Next
        Return cl
    End Function
End Class
Class Program
    
    Private Shared Sub Main(ByVal args() As String)
        Dim cl1 = New Cliente("Mike", "Panda")
        Dim cl2 = New Cliente("John", "Ferrari")
        Dim cl3 = New Cliente("Chris", "Panda")
        Dim lista As List(Of Cliente) = New List(Of Cliente)
        lista.Add(cl1)
        lista.Add(cl2)
        lista.Add(cl3)
        Dim search = New Search(lista)
        Dim auto = search.ListaAutoPerNome(lista, "Panda")
        Dim num = search.NumeroAutoPerNome(lista, "Panda")
    End Sub
End Class

Modificato da jjchuck il 09 gennaio 2018 10.38 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.