Intercambio doble de caracteres

Crea una función que intercambie cada aparición de dos caracteres en una cadena: cada aparición de first se convierte en second, y cada aparición de second se convierte en first. Los demás caracteres permanecen sin cambios.

Ejemplos

Program.DoubleSwap("aabbccc", 'a', 'b') ➞ "bbaaccc"
Program.DoubleSwap("random w#rds writt&n h&r&", '#', '&') ➞ "random w&rds writt#n h#r#"
Program.DoubleSwap("128 895 556 788 999", '8', '9') ➞ "129 985 556 799 888"

Notas

  • first y second son caracteres ASCII distintos.
  • Ambos caracteres aparecen al menos una vez en la entrada.