How to select N reservoir items randomly from a list in C#

1 Answer

0 votes
using System;
using System.Linq;
using System.Collections.Generic;

public class Program
{
	public static void Main(string[] args)
	{
		var list = new List<int> {4, 9, 14, 96, 13, 0, 3, 99, 19, 2, 80, 1, 7};
		int N = 5;
		
		Random rand = new Random(); 
 
		var reservoir = list.OrderBy(x => rand.Next()).Take(N);

		Console.WriteLine(string.Join(' ', reservoir));
	}
}




/*
run:
  
1 7 80 14 19
  
*/

 



answered Feb 3, 2024 by avibootz

Related questions

2 answers 155 views
2 answers 223 views
1 answer 202 views
1 answer 169 views
2 answers 175 views
...