static void Main(string[] args) { // Raw data string rawData = "10,2/20,5/50,3"; // First split string[] playersRaw = rawData.Split('/'); // Initialize a collection for the player objects var players = new List <Player>(); // Iterates over the splitted players data foreach (var playerRaw in playersRaw) { // Deserialize each player var playerDeserialized = Player.Deserialize(playerRaw); // Store the player data into the players collection if (playerDeserialized != null) { players.Add(playerDeserialized); } } // Seeks for player with room prize 10 foreach (var player in players) { if (player.RoomPrize == 10) { // Increments players data wins count player.Wins += 1; } } // Updates the raw data serializing all players back again rawData = string.Join("/", Array.ConvertAll(players.ToArray(), (p) => p.Serialize())); Console.WriteLine(rawData); Console.ReadLine(); }