Dadas dos variables de string a y b, intercambie estas variables sin usar una variable temporal o una tercera en C#. Se permite el uso de métodos de biblioteca.
Ejemplo:
Input: a = "Hello" b = "World" Output: Strings before swap: a = Hello and b = World Strings after swap: a = World and b = Hello
La idea es hacer una concatenación de strings y luego usar el método Substring() para realizar esta operación. El método Substring() viene en dos formas, como se indica a continuación:
- Método String.Substring (startIndex) : este método se utiliza para recuperar una substring de la instancia actual de la string. El parámetro «startIndex» especificará la posición inicial de la substring y luego la substring continuará hasta el final de la string.
- Método String.Substring (int startIndex, int length) : este método se usa para extraer una substring que comienza desde la posición especificada descrita por el parámetro startIndex y tiene una longitud especificada. Si startIndex es igual a la longitud de la string y la longitud del parámetro es cero, no devolverá nada como substring.
Algoritmo:
1) Append second string to first string and store in first string: a = a + b 2) Call the Substring Method (int startIndex, int length) by passing startindex as 0 and length as, a.Length - b.Length: b = Substring(0, a.Length - b.Length); 3) Call the Substring Method(int startIndex) by passing startindex as b.Length as the argument to store the value of initial b string in a a = Substring(b.Length);
// C# program to swap two strings // without using a temporary variable. using System; class GFG { // Main Method public static void Main(String[] args) { // Declare two strings String a = "Hello"; String b = "Geeks"; // Print String before swapping Console.WriteLine("Strings before swap: a =" + " " + a + " and b = " + b); // append 2nd string to 1st a = a + b; // store initial string a in string b b = a.Substring(0, a.Length - b.Length); // store initial string b in string a a = a.Substring(b.Length); // print String after swapping Console.WriteLine("Strings after swap: a =" + " " + a + " and b = " + b); } }
Producción:
Strings before swap: a = Hello and b = Geeks Strings after swap: a = Geeks and b = Hello