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

Definição

Cria uma nova instância de String com o mesmo valor que um String especificado.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

A cadeia de caracteres a ser copiada.The string to copy.

Retornos

Uma nova cadeia de caracteres com o mesmo valor que str.A new string with the same value as str.

Exceções

Exemplos

O exemplo a seguir cria dois objetos de cadeia de caracteres com valores diferentes.The following example creates two string objects with different values. Quando ele chama o Copy método para atribuir o primeiro valor para a segunda cadeia de caracteres, a saída indica que as cadeias de caracteres representam as referências de objeto diferentes, embora seus valores agora são iguais.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 outro lado, quando a primeira cadeia de caracteres é atribuída à segunda cadeia de caracteres, duas cadeias de caracteres tiverem valores idênticos, porque eles representam a mesma referência 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

Comentários

O Copy método retorna um String objeto que tem o mesmo valor de cadeia de caracteres original, mas representa uma referência 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. Ele é diferente de uma operação de atribuição, que atribui uma referência de cadeia de caracteres existente a uma variável de objeto adicionais.It differs from an assignment operation, which assigns an existing string reference to an additional object variable. O exemplo ilustra a diferença.The example illustrates the difference.

Aplica-se a