static void Main() { var musicians = new RankedSet <string> (StringComparer.InvariantCultureIgnoreCase); foreach (var m1 in new string[] { "Falco", "k.d. lang", "Madonna", "Tom Petty", "Joni Mitchell", "Grimes", "Warren Zevon" }) { musicians.Add(m1); } Console.WriteLine("Candidates:"); foreach (var item in musicians) { Console.WriteLine($" {item}"); } musicians.Remove("Falco"); musicians.RemoveWhere(IsPolynymous); musicians.RemoveRange(1, musicians.Count - 1); Console.WriteLine("\nFavorite:"); foreach (var item in musicians) { Console.WriteLine($" {item}"); } }
static void Main() { for (int width = 1; ; ++width) { Console.Write(width + " "); for (int count = 0; count <= width; ++count) { for (int index = 0; index <= width - count; ++index) { for (int order = 4; order <= 7; ++order) { set = new RankedSet <int> { Capacity = order }; for (int ii = 0; ii < width; ++ii) { set.Add(ii); } try { set.RemoveRange(index, count); Debug.Assert(set.Count == width - count); Debug.Assert(set.Count == set.Count()); Debug.Assert(set.Count == set.Reverse().Count()); #if DEBUG set.SanityCheck(); #endif } catch (Exception) { Console.WriteLine($"\nwidth={width}, index={index}, count={count}, order={order}"); throw; } } } } } }