get random items form list
List<SPListItem> randomItems = new List<SPListItem>(); ;
foreach (SPListItem item in items)
{
randomItems.Add(item);
}
Random random = new Random();
for(int i=1;i<needed;i++)
{
int index = random.Next(0, randomItems.Count - 1);
SPListItem randomItem = randomItems[index];
randomItems.RemoveAt(index);
// do something for randomItem
}
http://dotnetperls.com/list