Прочитать на английском

Поделиться через


CultureInfo.Clone Метод

Определение

Создает копию текущего поставщика CultureInfo.

public virtual object Clone ();

Возвращаемое значение

Копия текущего объекта CultureInfo.

Реализации

Примеры

В следующем примере кода показано, что CultureInfo.Clone также клонирует экземпляры DateTimeFormatInfo и NumberFormatInfo , связанные с CultureInfo.

using System;
using System.Globalization;

public class SamplesCultureInfo  {

   public static void Main()  {

      // Creates and initializes a CultureInfo.
      CultureInfo myCI = new CultureInfo("en-US", false);

      // Clones myCI and modifies the DTFI and NFI instances associated with the clone.
      CultureInfo myCIclone = (CultureInfo) myCI.Clone();
      myCIclone.DateTimeFormat.AMDesignator = "a.m.";
      myCIclone.DateTimeFormat.DateSeparator = "-";
      myCIclone.NumberFormat.CurrencySymbol = "USD";
      myCIclone.NumberFormat.NumberDecimalDigits = 4;

      // Displays the properties of the DTFI and NFI instances associated with the original and with the clone.
      Console.WriteLine( "DTFI/NFI PROPERTY\tORIGINAL\tMODIFIED CLONE" );
      Console.WriteLine( "DTFI.AMDesignator\t{0}\t\t{1}", myCI.DateTimeFormat.AMDesignator, myCIclone.DateTimeFormat.AMDesignator );
      Console.WriteLine( "DTFI.DateSeparator\t{0}\t\t{1}", myCI.DateTimeFormat.DateSeparator, myCIclone.DateTimeFormat.DateSeparator );
      Console.WriteLine( "NFI.CurrencySymbol\t{0}\t\t{1}", myCI.NumberFormat.CurrencySymbol, myCIclone.NumberFormat.CurrencySymbol );
      Console.WriteLine( "NFI.NumberDecimalDigits\t{0}\t\t{1}", myCI.NumberFormat.NumberDecimalDigits, myCIclone.NumberFormat.NumberDecimalDigits );
   }
}

/*
This code produces the following output.

DTFI/NFI PROPERTY       ORIGINAL        MODIFIED CLONE
DTFI.AMDesignator       AM              a.m.
DTFI.DateSeparator      /               -
NFI.CurrencySymbol      $               USD
NFI.NumberDecimalDigits 2               4

*/

Комментарии

Клон доступен для записи, даже если исходный CultureInfo файл доступен только для чтения. Таким образом, свойства клона можно изменить.

Неполная копия объекта — это копия только объекта. Если объект содержит ссылки на другие объекты, то неполная копия не создает копии объектов, на которые они ссылаются. Вместо этого он ссылается на исходные объекты. В отличие от этого, глубокая копия объекта создает копию объекта и копию всех объектов, на которые прямо или косвенно ссылается этот объект.

Метод Clone создает расширенную неглубокую копию. Также копируются объекты, возвращаемые свойствами NumberFormat, DateTimeFormat, TextInfoи Calendar . Следовательно, клонированный объект может изменять скопированные CultureInfo свойства, не затрагивая исходный CultureInfo объект.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел