using System.Collections.Generic;
using System.Diagnostics;
using RandomNameGeneratorLibrary;
public static void Main()
var searchedIds = new List<int> { 1, 3, 5, 100, 23, 2, 44, 170, 999, 821, 300 };
for (var i = 1000; i< 10000; i++) searchedIds.Add(i);
var users = GenerateTestList().ToList();
var sw = new Stopwatch();
var filteredUsers = FindUsersById(users, searchedIds);
Console.WriteLine("Stopwatch: " + sw.Elapsed);
Console.WriteLine(filteredUsers.Count());
private static IEnumerable<User> FindUsersById(IEnumerable<User> list, IEnumerable<int> ids)
return list.Where(x => ids.Contains(x.Id)).ToList();
private static IEnumerable<User> GenerateTestList() {
var personGenerator = new PersonNameGenerator();
for (var i=0; i < 100000; i++) {
Name = personGenerator.GenerateRandomFirstAndLastName()
public int Id { get; set; }
public string Name { get; set; }