Technology Experience (Reborn 3)

Contenuti gestiti da Igor Damiani
posts - 895, comments - 1334, trackbacks - 81

My Links

News














  • Questo blog nasce dalle ceneri del mio blog tecnico su UGIdotNET. In questo blog voglio raccontare la mia vita, ovvero quello che non mi sento più di raccontare da nessun'altra parte. Non sono solo un programmatore, dannazione: sono una persona che ha una terribile passione per il proprio lavoro. Ma anche passione per la vita, per le donne, per la birra, per la mia Fiat 500, per il sole ed il mare, per la scrittura, per qualche risata con gli amici, per i sentimenti. Qua troverete tutto questo: buona lettura!.

    23/04/2007,
    Sant'Angelo Lodigiano

Tag Cloud

Archives

Post Categories

Amici

Piccole istruzioni Linq per semplificare un po’ il codice

Supponiamo l’esistenza di una classe Player che tra le altre proprietà ne esponga una di tipo intero denominata Strength.

Supponiamo l’esistenza di una classe Team che tra le altre proprietà ne esponga una di tipo List<Player> denominata AcquiredPlayers.

Supponiamo l’esistenza di una classe Match che calcola l’incontro tra due Team diversi e ne calcola l’esito.

Un match viene vinto dal Team che raggiunge il punteggio più alto.
Tale punteggio è la somma dei valori della proprietà Strength dei giocatori appartenenti ad un Team (semplificando, chiaramente).
Es: l’istanza team1 ha acquisito 3 Players. Il primo ha Strength = 20, il secondo 45 ed il terzo = 56. Team1 ottiene un punteggio pari a 121. Per vincere un match, l’altro team deve ottenere un punteggio maggiore di 121.

Dopo questo piccolo preambolo per illustrare lo scenario, passiamo a qualcosa di tecnico e di divertente.

Come ottenere con una sola riga di C#, sfruttando Linq, il punteggio totalizzato da un team? Così:

int ScoreTeam1 = base._playersTeam1.Sum(s => s.Player.Strength);

Semplice da leggere, efficiente e molto compatto. Se c’è una cosa bella di Linq, così come qualsiasi altra tecnologia ben congegnata, è che essa può essere sfruttata fin da subito, in progetti già avviati ed in produzione, senza bisogno di grossi stravolgimenti alla nostra applicazione o agli strumenti di sviluppo. L’unica cosa richiesta è la compilazione con il .NET Framework 3.5 ed un referenziamento all’assembly System.Core.dll.

Technorati Tags:   

Print | posted on martedì 2 settembre 2008 22.15 | Filed Under [ .NET World ]

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 1 and 4 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET