String.Copy(String) String.Copy(String) String.Copy(String) String.Copy(String) Method

Definición

Crea una nueva instancia de String con el mismo valor que una String especificada.Creates a new instance of String with the same value as a specified String.

public:
 static System::String ^ Copy(System::String ^ str);
public static string Copy (string str);
static member Copy : string -> string
Public Shared Function Copy (str As String) As String

Parámetros

str
String String String String

Cadena que se va a copiar.The string to copy.

Devoluciones

Nueva cadena con el mismo valor que str.A new string with the same value as str.

Excepciones

Ejemplos

El ejemplo siguiente crea dos objetos de cadena con valores diferentes.The following example creates two string objects with different values. Cuando llama a la Copy método para asignar el primer valor a la segunda cadena, el resultado indica que las cadenas representan las referencias a objetos diferentes aunque sus valores ahora son iguales.When it calls the Copy method to assign the first value to the second string, the output indicates that the strings represent different object references although their values are now equal. Por otro lado, cuando se asigna la primera cadena para la segunda cadena, las dos cadenas tienen valores idénticos, ya que representan la misma referencia de objeto.On the other hand, when the first string is assigned to the second string, the two strings have identical values because they represent the same object reference.

using System;

class Example
{
   public static void Main() 
   {
      string str1 = "abc";
      string str2 = "xyz";
          
      Console.WriteLine("str1 = '{0}'", str1);
      Console.WriteLine("str2 = '{0}'", str2);
          
      Console.WriteLine("\nAfter String.Copy...");
      str2 = String.Copy(str1);
      Console.WriteLine("str1 = '{0}'", str1);
      Console.WriteLine("str2 = '{0}'", str2);
      Console.WriteLine("ReferenceEquals: {0}", Object.ReferenceEquals(str1, str2));
      Console.WriteLine("Equals: {0}", Object.Equals(str1, str2));
          
      Console.WriteLine("\nAfter Assignment...");
      str2 = str1;
      Console.WriteLine("str1 = '{0}'", str1);
      Console.WriteLine("str2 = '{0}'", str2);
      Console.WriteLine("ReferenceEquals: {0}", Object.ReferenceEquals(str1, str2));
      Console.WriteLine("Equals: {0}", Object.Equals(str1, str2));
   }
}
// The example displays the following output:
//       str1 = 'abc'
//       str2 = 'xyz'
//       
//       After String.Copy...
//       str1 = 'abc'
//       str2 = 'abc'
//       ReferenceEquals: False
//       Equals: True
//       
//       After Assignment...
//       str1 = 'abc'
//       str2 = 'abc'
//       ReferenceEquals: True
//       Equals: True
Module Example
   Public Sub Main()
      Dim str1 As String = "abc"
      Dim str2 As String = "xyz"
          
      Console.WriteLine("str1 = '{0}'", str1)
      Console.WriteLine("str2 = '{0}'", str2)
      Console.WriteLine()
          
      Console.WriteLine("After String.Copy...")
      str2 = String.Copy(str1)
      Console.WriteLine("str1 = '{0}'", str1)
      Console.WriteLine("str2 = '{0}'", str2)
      Console.WriteLine("ReferenceEquals: {0}", Object.ReferenceEquals(str1, str2))
      Console.WriteLine("Equals: {0}", Object.Equals(str1, str2))
      Console.WriteLine()
          
      Console.WriteLine("After Assignment...")
      str2 = str1
      Console.WriteLine("str1 = '{0}'", str1)
      Console.WriteLine("str2 = '{0}'", str2)
      Console.WriteLine("ReferenceEquals: {0}", Object.ReferenceEquals(str1, str2))
      Console.WriteLine("Equals: {0}", Object.Equals(str1, str2))
   End Sub
End Module
' The example displays the following output:
'       str1 = 'abc'
'       str2 = 'xyz'
'       
'       After String.Copy...
'       str1 = 'abc'
'       str2 = 'abc'
'       ReferenceEquals: False
'       Equals: True
'       
'       After Assignment...
'       str1 = 'abc'
'       str2 = 'abc'
'       ReferenceEquals: True
'       Equals: True

Comentarios

El Copy método devuelve un String objeto que tiene el mismo valor que la cadena original, pero representa una referencia de objeto diferente.The Copy method returns a String object that has the same value as the original string but represents a different object reference. Difiere de una operación de asignación que asigna una referencia de cadena existente a una variable de objeto adicionales.It differs from an assignment operation, which assigns an existing string reference to an additional object variable. El ejemplo ilustra la diferencia.The example illustrates the difference.

Se aplica a