Come si recupera un elemento casuale da una lista con LINQ

Scritto da  Massimo Bonanni il mercoledì 28 luglio 2010  •  Linguaggio: C#,VB   • Livello: 100


Dato un oggetto che implementa l'interfaccia IEnumerable, possiamo recuperare un elemento casuale dalla lista nel seguente modo:

C#

Random  rnd = new Random(DateTime.Now.Millisecond);
var retval = coll.Skip(rnd.Next(coll.Count(x => true))).Take(1).First();

 

VB

Dim rnd As New Random(DateTime.Now.Millisecond)
Dim retval = coll.Skip(rnd.Next(coll.Count)).Take(1).First()

 

 In entrambe le versioni, coll è l'oggetto che implementa IEnumerable.


Tags: Linq,IEnumerable

 
x