posts - 82, comments - 0, trackbacks - 0

My Links

News

Archives

Post Categories

C# Download

Facebook

Informativa cookie

Linkedin

Microsoft

Msdn Gallery

Twitter

VisualBasic

Wiki Tecknet

Utilizzo della clausola Join

// Esempio di query Linq
// join
// La clausola join permette di associare differenti datasource sulla base di un membro. Non e possibile
// confrontare con la clausola join con maggiore di, minore di, diverso da, epossibile solo effettuare confronti di
// uguaglianza.
// Questo esempio di query Linq mediante la clausola join confronta l'indice Mansione della matrice customers
// con l'indice Mansione della matrice work, restituendo un elenco di customers con la stessa mansione comprendente il nome , la mansione e
// il livello di ogni customers.

// Richiamo NameSpace dal sistema operativo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

// Spazio dei nomi Linq_join_
namespace Linq_join_
{
    // Classe Program
    class Program
    {
        // Metodo Statico Main
        static void Main(string[] args)
        {
            // Richiamo metodo Unione
            Unione();
        }
 
        // Metodo Statico Unione
        public static void Unione()
        {
 
            // Matrice customers
            var customers = new[]
            {
            // Dichiarazione Cliente 1 su matrice Nationomality
            new { CustomerID = 1, Nome = " Customer1 " , Mansione = " Elettricista " },
            // Dichiarazione Cliente 2 su matrice Nationomality
            new { CustomerID = 2, Nome = " Customer2 " , Mansione = " Tubista " },
            // Dichiarazione Cliente 3 su matrice Nationomality
            new { CustomerID = 3, Nome = " Customer3 " , Mansione = " Idraulico " },
            // Dichiarazione Cliente 4 su matrice Nationomality
            new { CustomerID = 4, Nome = " Customer4 " , Mansione = " Meccanico " },
            // Dichiarazione Cliente 5 su matrice Nationomality
            new { CustomerID = 5, Nome = " Customer5 " , Mansione = " Softerista " },
            // Dichiarazione Cliente 6 su matrice Nationomality
            new { CustomerID = 6, Nome = " Customer6 " , Mansione = " Strumentista " },
            };
 
            // Matrice work
            var work = new[]
            {
            // Dichiarazione Cliente 1 su matrice work
            new {workID = 1, Mansione = " Elettricista " , Livello = " Quarto " },
            // Dichiarazione Cliente 2 su matrice work
            new {workID = 2, Mansione = " Tubista " , Livello = " Quarto " },
            // Dichiarazione Cliente 3 su matrice work
            new {workID = 3, Mansione = " Idraulico " , Livello = " Quarto " },
            // Dichiarazione Cliente 4 su matrice work
            new {workID = 4, Mansione = " Meccanico " , Livello = " Quarto " },
            // Dichiarazione Cliente 5 su matrice work
            new {workID = 5, Mansione = " Softerista " , Livello = " Quarto " },
            // Dichiarazione Cliente 6 su matrice work
            new {workID = 6, Mansione = " Softerista " , Livello = " Quarto " },
            };
 
            // Seleziona dati da da Matrice customers, e vrrifica se la mansione dei customers e uguale
            // alla mansione della matrice work , e infine restituisce un elenco con il nome,Mansione e Livello.
            var custom = customers .
            // Clausola Select , ovvero seleziona con parametro c il none e mansione della matrice customers
            Select(c =>
            new {c.Nome , c.Mansione})
            // Esegue il confronto trà la variabile customers e work
            .Join(work , custs => custs.Mansione , job => job.Mansione,(custs , job ) =>
            // Restituisce l'elenco delle corrispondenze trovate dopo il confronto
            new {custs.Nome , job.Mansione,job.Livello});
            // Variabile appoggio numero customers trovati
            int iCustomers = 0;

            // Recupera dati da variabile custom e li passa a row
            foreach ( var row in custom)
            {  
                // Incrementa variabile appoggio numero customers trovati
                iCustomers ++;
                // Visualizza a utente il nome,da matrice customer e Mansione e Livello da variabile work
                Console.WriteLine("Customer number" + '\t' + iCustomers.ToString() + '\t' + row.Nome + '\t' + row.Mansione + '\t' + row.Livello);
            }
 
            // Riga vuota
            Console.WriteLine();
            // Riga vuota
            Console.WriteLine("Premere un tasto per uscire");
            // Aspetta un tasto qualsiasi da tastiera
            Console.ReadLine();
        }
    }
}

Print | posted on domenica 3 luglio 2011 20:32 | Filed Under [ Articoli su Linq ]

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 5 and 3 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET