public void MixPlayers() { Random rnd = new Random(); int countOfCharactersInGame = Characters.Count; int idCurrentCharacter = 0; AbstractCharacter[] mixedCharacters = new AbstractCharacter[countOfCharactersInGame]; while (mixedCharacters.Contains(null)) { AbstractCharacter chooseCharacter = Characters[rnd.Next(0, countOfCharactersInGame)]; if (!mixedCharacters.Contains(chooseCharacter)) { mixedCharacters[idCurrentCharacter] = chooseCharacter; idCurrentCharacter++; } } Characters = mixedCharacters.ToList(); }