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

Definizione

Crea una nuova istanza dell'oggetto String con lo stesso valore di un'istanza dell'oggetto String specificata.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

Parametri

str
String String String String

Stringa da copiare.The string to copy.

Restituisce

Nuova stringa con lo stesso valore di str.A new string with the same value as str.

Eccezioni

Esempi

L'esempio seguente crea due oggetti stringa con valori diversi.The following example creates two string objects with different values. Quando chiama il Copy metodo a cui assegnare il primo valore per la seconda stringa, l'output indica che le stringhe rappresentano i riferimenti a oggetti diversi anche se i relativi valori sono uguali a questo punto.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. D'altra parte, quando la prima stringa è assegnata alla stringa del secondo, le due stringhe hanno valori identici poiché rappresentano il riferimento all'oggetto stesso.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

Commenti

Il Copy metodo restituisce un String oggetto che ha lo stesso valore di stringa originale, ma rappresenta un riferimento di un oggetto diverso.The Copy method returns a String object that has the same value as the original string but represents a different object reference. Differisce da un'operazione di assegnazione, che assegna un riferimento di stringa esistente a una variabile oggetto aggiuntive.It differs from an assignment operation, which assigns an existing string reference to an additional object variable. Nell'esempio viene illustrata la differenza.The example illustrates the difference.

Si applica a