using System.Collections.Generic;
public record T(int Distance, string First, string Second);
public static void Main()
var nrs = new HashSet<string>();
var range = Enumerable.Range(0, 500);
var nr = rand.Next(0, 100000000);
nrs.Add(nr.ToString("0600000000"));
Value = x.Skip(2).GroupBy(x => x).Sum(x => Math.Pow(2, x.Count()))
.OrderByDescending(x=>x.Value)
Console.WriteLine("Veel dezelfde nummers");
Console.WriteLine(String.Join("\n", grouped.Select(x=>x.Number).OrderBy(x=>x)));
var list1 = nrs.OrderBy(x=>x).ToList();
var list2 = list1.Skip(1).ToList();
var zipped = list1.Zip(list2, (first, second) =>
Diff = Int32.Parse(second) - Int32.Parse(first),
var top = zipped.OrderBy(x=>x.Diff).Take(20).ToList();
Console.WriteLine("Dicht bij elkaar numeriek");
Console.WriteLine(String.Join("\n", top.Select(x=>x.First).ToHashSet().Union(top.Select(x=>x.Second)).OrderBy(x=>x).Take(15) ));
var dict = new HashSet<T>();
var query = nrs.SelectMany(x => nrs, (x, y) => new { x, y });
foreach (var item in query)
var distance = Fastenshtein.Levenshtein.Distance(item.x, item.y);
if (item.x.CompareTo(item.y) < 0)
dict.Add(new T(distance, item.x, item.y));
dict.Add(new T(distance, item.y, item.x));
var close = dict.OrderBy(x=>x.Distance).Take(20).ToList();
Console.WriteLine("Lijken op elkaar");
Console.WriteLine(String.Join("\n", close.Select(x=>$"{x.First}: {x.Second}")));