string name = "Franco".ToUpper(); string surname = "Di Sorte".ToUpper().Replace(" ",""); List rawAlias = new List(); var range = string.Empty; if (name.Length > surname.Length) { range = surname; } else { range = name; } for (int i = 1; i < 3; i++) { if (i != 1) { rawAlias.Add($"{name[0..i]}{surname[0..i]}"); rawAlias.Add($"{name[0..i]}{surname[0]}"); rawAlias.Add($"{name[0]}{surname[0..i]}"); continue; } rawAlias.Add($"{name[0..i]}{surname[0..i]}"); } rawAlias.Sort(); var alias = rawAlias.OrderBy(x => x.Length); var existAlias = new List() { {""} }; foreach (var a in alias) { if(!existAlias.Contains(a)) Console.WriteLine(a); }