C# | Intercambie dos strings sin usar una tercera variable definida por el usuario

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

Publicación traducida automáticamente

Artículo escrito por Abhinav96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *