# DecimalDecimalDecimalDecimal Struct

## Определение

Представляет десятичное число с плавающей запятой.Represents a decimal floating-point number.

``public value class Decimal : IComparable, IComparable<System::Decimal>, IConvertible, IEquatable<System::Decimal>, IFormattable, System::Runtime::Serialization::IDeserializationCallback``
``````[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct Decimal : IComparable, IComparable<decimal>, IConvertible, IEquatable<decimal>, IFormattable, System.Runtime.Serialization.IDeserializationCallback``````
``````type decimal = struct
interface IFormattable
interface IConvertible
interface IDeserializationCallback``````
``````Public Structure Decimal
Implements IComparable, IComparable(Of Decimal), IConvertible, IDeserializationCallback, IEquatable(Of Decimal), IFormattable``````
Наследование
DecimalDecimalDecimalDecimal
Атрибуты
Реализации

## Примеры

В следующем коде показано использование функции Decimal.The following code example demonstrates the use of Decimal.

``````   /// <summary>
/// Keeping my fortune in Decimals to avoid the round-off errors.
/// </summary>
public ref class PiggyBank
{
protected:
Decimal MyFortune;

public:
{
MyFortune = System::Decimal::Add( MyFortune, Decimal(.01) );
}

System::Decimal Capacity()
{
return MyFortune.MaxValue;
}

Decimal Dollars()
{
return Decimal::Floor( MyFortune );
}

Decimal Cents()
{
return Decimal::Subtract( MyFortune, Decimal::Floor( MyFortune ) );
}

virtual System::String^ ToString() override
{
return MyFortune.ToString("C")+" in piggy bank";
}
};
}
``````
``````/// <summary>
/// Keeping my fortune in Decimals to avoid the round-off errors.
/// </summary>
class PiggyBank {
protected decimal MyFortune;

public void AddPenny() {
MyFortune = Decimal.Add(MyFortune, .01m);
}

public decimal Capacity {
get {
return Decimal.MaxValue;
}
}

public decimal Dollars {
get {
return Decimal.Floor(MyFortune);
}
}

public decimal Cents {
get {
return Decimal.Subtract(MyFortune, Decimal.Floor(MyFortune));
}
}

public override string ToString() {
return MyFortune.ToString("C")+" in piggy bank";
}
}
``````
``````' Keeping my fortune in Decimals to avoid the round-off errors.
Class PiggyBank
Protected MyFortune As Decimal

MyFortune = [Decimal].Add(MyFortune, 0.01D)
End Sub

Public ReadOnly Property Capacity() As Decimal
Get
Return [Decimal].MaxValue
End Get
End Property

Public ReadOnly Property Dollars() As Decimal
Get
Return [Decimal].Floor(MyFortune)
End Get
End Property

Public ReadOnly Property Cents() As Decimal
Get
Return [Decimal].Subtract(MyFortune, [Decimal].Floor(MyFortune))
End Get
End Property

Public Overrides Function ToString() As String
Return MyFortune.ToString("C") + " in piggy bank"
End Function
End Class
``````

## Комментарии

Decimal Тип значения представляет десятичные числа в диапазоне от плюс 79,228,162,514,264,337,593,543,950,335 минус 79,228,162,514,264,337,593,543,950,335.The Decimal value type represents decimal numbers ranging from positive 79,228,162,514,264,337,593,543,950,335 to negative 79,228,162,514,264,337,593,543,950,335. Значение по умолчанию `Decimal` равно 0.The default value of a `Decimal` is 0. Decimal Значение тип подходит для финансовых расчетов, требующих большое количество значимых цифр целой и дробной и без ошибок округления.The Decimal value type is appropriate for financial calculations that require large numbers of significant integral and fractional digits and no round-off errors. Decimal Тип устраняет необходимость для округления.The Decimal type does not eliminate the need for rounding. Но он сводит к минимуму ошибки, возникающие из-за округления.Rather, it minimizes errors due to rounding. Например следующий код создает результат 0.9999999999999999999999999999 вместо 1.For example, the following code produces a result of 0.9999999999999999999999999999 instead of 1.

``````using namespace System;

void main()
{
Decimal dividend = Decimal::One;
Decimal divisor = 3;
// The following displays 0.9999999999999999999999999999 to the console
Console::WriteLine(dividend/divisor * divisor);
}
``````
``````decimal dividend = Decimal.One;
decimal divisor = 3;
// The following displays 0.9999999999999999999999999999 to the console
Console.WriteLine(dividend/divisor * divisor);
``````
``````Dim dividend As Decimal = Decimal.One
Dim divisor As Decimal = 3
' The following displays 0.9999999999999999999999999999 to the console
Console.WriteLine(dividend/divisor * divisor)
``````

При передаче результат деление и умножение Round метод, результат страдает без потери точности, как показано в следующем коде.When the result of the division and multiplication is passed to the Round method, the result suffers no loss of precision, as the following code shows.

``````using namespace System;

void main()
{
Decimal dividend = Decimal::One;
Decimal divisor = 3;
// The following displays 1.00 to the console
Console::WriteLine(Math::Round(dividend/divisor * divisor, 2));
}
``````
``````decimal dividend = Decimal.One;
decimal divisor = 3;
// The following displays 1.00 to the console
Console.WriteLine(Math.Round(dividend/divisor * divisor, 2));
``````
``````Dim dividend As Decimal = Decimal.One
Dim divisor As Decimal = 3
' The following displays 1.00 to the console
Console.WriteLine(Math.Round(dividend/divisor * divisor, 2))
``````

Десятичное число — это значение с плавающей запятой, состоящее из знака, числовое значение, где каждый цифрой в диапазоне от 0 до 9 и коэффициент масштабирования, которое показывает положение с плавающей десятичной запятой, разделяющий целой и дробной части числовое значение.A decimal number is a floating-point value that consists of a sign, a numeric value where each digit in the value ranges from 0 to 9, and a scaling factor that indicates the position of a floating decimal point that separates the integral and fractional parts of the numeric value.

Двоичное представление Decimal значение состоит из входа разряда 96-разрядного целого числа и коэффициент масштабирования, используемый для разделения 96-разрядного целого числа и какая часть десятичной дробью.The binary representation of a Decimal value consists of a 1-bit sign, a 96-bit integer number, and a scaling factor used to divide the 96-bit integer and specify what portion of it is a decimal fraction. Коэффициент масштабирования является неявно число 10, возведенное в степень, в диапазоне от 0 до 28.The scaling factor is implicitly the number 10, raised to an exponent ranging from 0 to 28. Таким образом, двоичное представление Decimal значение форме ((-296 296) / 10(от 0 до 28)), где-(296-1) равно MinValueи 296равен -1 MaxValue.Therefore, the binary representation of a Decimal value the form, ((-296 to 296) / 10(0 to 28)), where -(296-1) is equal to MinValue, and 296-1 is equal to MaxValue. Дополнительные сведения о двоичное представление Decimal значения и пример, см. в разделе Decimal(Int32[]) конструктор и GetBits метод.For more information about the binary representation of Decimal values and an example, see the Decimal(Int32[]) constructor and the GetBits method.

Коэффициент масштабирования также сохраняет любые замыкающие нули в Decimal номер.The scaling factor also preserves any trailing zeros in a Decimal number. Нули в конце не влияют на значение Decimal чисел в операциях сравнения или арифметических операций.Trailing zeros do not affect the value of a Decimal number in arithmetic or comparison operations. Тем не менее, конечные нули может быть отображена при помощи ToString метод, если применяется соответствующую строку формата.However, trailing zeros might be revealed by the ToString method if an appropriate format string is applied.

### Вопросы преобразованияConversion Considerations

Этот тип предоставляет методы, которые преобразуют Decimal значения в / из SByte, Int16, Int32, Int64, Byte, UInt16, UInt32, и UInt64 значения.This type provides methods that convert Decimal values to and from SByte, Int16, Int32, Int64, Byte, UInt16, UInt32, and UInt64 values. Преобразования из этих целочисленных типов, чтобы Decimal расширяющие преобразования, которые никогда не привести к потере данных или создают исключения.Conversions from these integral types to Decimal are widening conversions that never lose information or throw exceptions.

Преобразования из Decimal к любому из целочисленных типов являются сужающими округления Decimal значение до ближайшего целого числа по направлению к нулю.Conversions from Decimal to any of the integral types are narrowing conversions that round the Decimal value to the nearest integer value toward zero. Некоторые языки, например C#, также поддерживают преобразование Decimal значения Char значения.Some languages, such as C#, also support the conversion of Decimal values to Char values. Если результат преобразования нельзя представить в целевом типе OverflowException возникает исключение.If the result of these conversions cannot be represented in the destination type, an OverflowException exception is thrown.

Decimal Тип также предоставляет методы, которые преобразуют Decimal значения в / из Single и Double значения.The Decimal type also provides methods that convert Decimal values to and from Single and Double values. Преобразования из Decimal для Single или Double являются сужающими может привести к потере точности, но не сведения о величине преобразуемого значения.Conversions from Decimal to Single or Double are narrowing conversions that might lose precision but not information about the magnitude of the converted value. Преобразование не вызывает исключение.The conversion does not throw an exception.

Преобразования из Single или Double для Decimal throw OverflowException исключение, если результат преобразования не может быть представлено как Decimal.Conversions from Single or Double to Decimal throw an OverflowException exception if the result of the conversion cannot be represented as a Decimal.

### Выполнение операций для десятичных значенийPerforming Operations on Decimal Values

Decimal Тип поддерживает стандартные операции, такие как сложение, вычитание, деление, умножение и унарного отрицания.The Decimal type supports standard mathematical operations such as addition, subtraction, division, multiplication, and unary negation. Вы также можете работать непосредственно с двоичным представлением Decimal значение путем вызова метода GetBits метод.You can also work directly with the binary representation of a Decimal value by calling the GetBits method.

Для сравнения двух Decimal значения, вы можете использовать стандартные числовые операторы сравнения, или можно вызвать CompareTo или Equals метод.To compare two Decimal values, you can use the standard numeric comparison operators, or you can call the CompareTo or Equals method.

Можно также вызвать членами Math классом для выполнения разнообразных числовых операций, включая получение абсолютное значение числа, определяющее максимальное или минимальное значение двух Decimal значений, начало знак числа и округления число.You can also call the members of the Math class to perform a wide range of numeric operations, including getting the absolute value of a number, determining the maximum or minimum value of two Decimal values, getting the sign of a number, and rounding a number.

## Конструкторы

 Decimal(Double) Decimal(Double) Decimal(Double) Decimal(Double) Инициализирует новый экземпляр Decimal, используя значение заданного числа двойной точности с плавающей запятой.Initializes a new instance of Decimal to the value of the specified double-precision floating-point number. Decimal(Int32) Decimal(Int32) Decimal(Int32) Decimal(Int32) Инициализирует новый экземпляр Decimal, используя значение указанного 32-разрядного целого числа со знаком.Initializes a new instance of Decimal to the value of the specified 32-bit signed integer. Decimal(Int32[]) Decimal(Int32[]) Decimal(Int32[]) Decimal(Int32[]) Инициализирует новый экземпляр Decimal с представленным в двоичном виде десятичным значением, содержащимся в указанном массиве.Initializes a new instance of Decimal to a decimal value represented in binary and contained in a specified array. Decimal(Int64) Decimal(Int64) Decimal(Int64) Decimal(Int64) Инициализирует новый экземпляр Decimal, используя значение указанного 64-разрядного целого числа со знаком.Initializes a new instance of Decimal to the value of the specified 64-bit signed integer. Decimal(Single) Decimal(Single) Decimal(Single) Decimal(Single) Инициализирует новый экземпляр Decimal, используя значение заданного числа одиночной точности с плавающей запятой.Initializes a new instance of Decimal to the value of the specified single-precision floating-point number. Decimal(UInt32) Decimal(UInt32) Decimal(UInt32) Decimal(UInt32) Инициализирует новый экземпляр Decimal, используя значение указанного 32-разрядного целого числа без знака.Initializes a new instance of Decimal to the value of the specified 32-bit unsigned integer. Decimal(UInt64) Decimal(UInt64) Decimal(UInt64) Decimal(UInt64) Инициализирует новый экземпляр Decimal, используя значение указанного 64-разрядного целого числа без знака.Initializes a new instance of Decimal to the value of the specified 64-bit unsigned integer. Decimal(Int32, Int32, Int32, Boolean, Byte) Decimal(Int32, Int32, Int32, Boolean, Byte) Decimal(Int32, Int32, Int32, Boolean, Byte) Decimal(Int32, Int32, Int32, Boolean, Byte) Инициализирует новый экземпляр Decimal на основе параметров, задающих составные части экземпляра.Initializes a new instance of Decimal from parameters specifying the instance's constituent parts.

## Поля

 MaxValue MaxValue MaxValue MaxValue Представляет наибольшее возможное значение типа Decimal.Represents the largest possible value of Decimal. В этом поле содержится константа, и оно доступно только для чтения.This field is constant and read-only. MinusOne MinusOne MinusOne MinusOne Представляет число минус один (-1).Represents the number negative one (-1). MinValue MinValue MinValue MinValue Представляет минимально допустимое значение типа Decimal.Represents the smallest possible value of Decimal. В этом поле содержится константа, и оно доступно только для чтения.This field is constant and read-only. One One One One Представляет число один (1).Represents the number one (1). Zero Zero Zero Zero Представляет число нуль (0).Represents the number zero (0).

## Операторы

 Addition(Decimal, Decimal) Addition(Decimal, Decimal) Addition(Decimal, Decimal) Addition(Decimal, Decimal) Суммирует два заданных значения типа Decimal.Adds two specified Decimal values. Decrement(Decimal) Decrement(Decimal) Decrement(Decimal) Decrement(Decimal) Уменьшает операнд типа Decimal на единицу.Decrements the Decimal operand by one. Division(Decimal, Decimal) Division(Decimal, Decimal) Division(Decimal, Decimal) Division(Decimal, Decimal) Выполняет деление двух заданных значений типа Decimal.Divides two specified Decimal values. Equality(Decimal, Decimal) Equality(Decimal, Decimal) Equality(Decimal, Decimal) Equality(Decimal, Decimal) Возвращает значение, определяющее, равны ли два значения Decimal.Returns a value that indicates whether two Decimal values are equal. Explicit(Single to Decimal) Explicit(Single to Decimal) Explicit(Single to Decimal) Explicit(Single to Decimal) Определяет явное преобразование числа с плавающей запятой одинарной точности в Decimal.Defines an explicit conversion of a single-precision floating-point number to a Decimal. Explicit(Double to Decimal) Explicit(Double to Decimal) Explicit(Double to Decimal) Explicit(Double to Decimal) Определяет явное преобразование числа с плавающей запятой двойной точности в Decimal.Defines an explicit conversion of a double-precision floating-point number to a Decimal. Explicit(Decimal to UInt32) Explicit(Decimal to UInt32) Explicit(Decimal to UInt32) Explicit(Decimal to UInt32) Определяет явное преобразование Decimal в 32-разрядное целое число без знака.Defines an explicit conversion of a Decimal to a 32-bit unsigned integer. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Explicit(Decimal to UInt16) Explicit(Decimal to UInt16) Explicit(Decimal to UInt16) Explicit(Decimal to UInt16) Определяет явное преобразование Decimalв 16-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to a 16-bit unsigned integer. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Explicit(Decimal to Single) Explicit(Decimal to Single) Explicit(Decimal to Single) Explicit(Decimal to Single) Определяет явное преобразование Decimal в число с плавающей запятой одинарной точности.Defines an explicit conversion of a Decimal to a single-precision floating-point number. Explicit(Decimal to SByte) Explicit(Decimal to SByte) Explicit(Decimal to SByte) Explicit(Decimal to SByte) Определяет явное преобразование Decimal в 8-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to an 8-bit signed integer. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Explicit(Decimal to UInt64) Explicit(Decimal to UInt64) Explicit(Decimal to UInt64) Explicit(Decimal to UInt64) Определяет явное преобразование Decimal в 64-разрядное целое число без знака.Defines an explicit conversion of a Decimal to a 64-bit unsigned integer. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Explicit(Decimal to Int32) Explicit(Decimal to Int32) Explicit(Decimal to Int32) Explicit(Decimal to Int32) Определяет явное преобразование Decimal в 32-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to a 32-bit signed integer. Explicit(Decimal to Int16) Explicit(Decimal to Int16) Explicit(Decimal to Int16) Explicit(Decimal to Int16) Определяет явное преобразование Decimal в 16-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to a 16-bit signed integer. Explicit(Decimal to Double) Explicit(Decimal to Double) Explicit(Decimal to Double) Explicit(Decimal to Double) Определяет явное преобразование Decimal в число с плавающей запятой двойной точности.Defines an explicit conversion of a Decimal to a double-precision floating-point number. Explicit(Decimal to Char) Explicit(Decimal to Char) Explicit(Decimal to Char) Explicit(Decimal to Char) Определяет явное преобразование объекта Decimal в символ Юникод.Defines an explicit conversion of a Decimal to a Unicode character. Explicit(Decimal to Byte) Explicit(Decimal to Byte) Explicit(Decimal to Byte) Explicit(Decimal to Byte) Определяет явное преобразование Decimalв 8-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to an 8-bit unsigned integer. Explicit(Decimal to Int64) Explicit(Decimal to Int64) Explicit(Decimal to Int64) Explicit(Decimal to Int64) Определяет явное преобразование Decimal в 64-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to a 64-bit signed integer. GreaterThan(Decimal, Decimal) GreaterThan(Decimal, Decimal) GreaterThan(Decimal, Decimal) GreaterThan(Decimal, Decimal) Возвращает значение, позволяющее определить, действительно ли заданное значение типа Decimal больше другого заданного значения типа Decimal.Returns a value indicating whether a specified Decimal is greater than another specified Decimal. GreaterThanOrEqual(Decimal, Decimal) GreaterThanOrEqual(Decimal, Decimal) GreaterThanOrEqual(Decimal, Decimal) GreaterThanOrEqual(Decimal, Decimal) Возвращает значение, позволяющее определить, действительно ли заданное значение типа Decimal больше или равно другому заданному значению типа Decimal.Returns a value indicating whether a specified Decimal is greater than or equal to another specified Decimal. Implicit(UInt32 to Decimal) Implicit(UInt32 to Decimal) Implicit(UInt32 to Decimal) Implicit(UInt32 to Decimal) Определяет неявное преобразование 32-разрядного целого числа без знака в значение типа Decimal.Defines an implicit conversion of a 32-bit unsigned integer to a Decimal. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Implicit(UInt16 to Decimal) Implicit(UInt16 to Decimal) Implicit(UInt16 to Decimal) Implicit(UInt16 to Decimal) Определяет неявное преобразование 16-разрядного целого числа без знака в значение типа Decimal.Defines an implicit conversion of a 16-bit unsigned integer to a Decimal. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Implicit(SByte to Decimal) Implicit(SByte to Decimal) Implicit(SByte to Decimal) Implicit(SByte to Decimal) Определяет неявное преобразование 8-разрядного целого числа со знаком в значение типа Decimal.Defines an implicit conversion of an 8-bit signed integer to a Decimal. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Implicit(Int64 to Decimal) Implicit(Int64 to Decimal) Implicit(Int64 to Decimal) Implicit(Int64 to Decimal) Определяет неявное преобразование 64-разрядного целого числа со знаком в значение типа Decimal.Defines an implicit conversion of a 64-bit signed integer to a Decimal. Implicit(Byte to Decimal) Implicit(Byte to Decimal) Implicit(Byte to Decimal) Implicit(Byte to Decimal) Определяет неявное преобразование 8-разрядного целого числа без знака в значение типа Decimal.Defines an implicit conversion of an 8-bit unsigned integer to a Decimal. Implicit(Int16 to Decimal) Implicit(Int16 to Decimal) Implicit(Int16 to Decimal) Implicit(Int16 to Decimal) Определяет неявное преобразование 16-разрядного целого числа со знаком в значение типа Decimal.Defines an implicit conversion of a 16-bit signed integer to a Decimal. Implicit(Char to Decimal) Implicit(Char to Decimal) Implicit(Char to Decimal) Implicit(Char to Decimal) Определяет неявное преобразование символа Юникода в значение типа Decimal.Defines an implicit conversion of a Unicode character to a Decimal. Implicit(UInt64 to Decimal) Implicit(UInt64 to Decimal) Implicit(UInt64 to Decimal) Implicit(UInt64 to Decimal) Определяет неявное преобразование 64-разрядного целого числа без знака в значение типа Decimal.Defines an implicit conversion of a 64-bit unsigned integer to a Decimal. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Implicit(Int32 to Decimal) Implicit(Int32 to Decimal) Implicit(Int32 to Decimal) Implicit(Int32 to Decimal) Определяет неявное преобразование 32-разрядного целого числа со знаком в значение типа Decimal.Defines an implicit conversion of a 32-bit signed integer to a Decimal. Increment(Decimal) Increment(Decimal) Increment(Decimal) Increment(Decimal) Увеличивает операнд Decimal на 1.Increments the Decimal operand by 1. Inequality(Decimal, Decimal) Inequality(Decimal, Decimal) Inequality(Decimal, Decimal) Inequality(Decimal, Decimal) Возвращает значение, указывающее, имеют ли два объекта Decimal различные значения.Returns a value that indicates whether two Decimal objects have different values. LessThan(Decimal, Decimal) LessThan(Decimal, Decimal) LessThan(Decimal, Decimal) LessThan(Decimal, Decimal) Возвращает значение, позволяющее определить, действительно ли заданное значение типа Decimal меньше другого заданного значения типа Decimal.Returns a value indicating whether a specified Decimal is less than another specified Decimal. LessThanOrEqual(Decimal, Decimal) LessThanOrEqual(Decimal, Decimal) LessThanOrEqual(Decimal, Decimal) LessThanOrEqual(Decimal, Decimal) Возвращает значение, позволяющее определить, действительно ли заданное значение типа Decimal меньше или равно другому заданному значению типа Decimal.Returns a value indicating whether a specified Decimal is less than or equal to another specified Decimal. Modulus(Decimal, Decimal) Modulus(Decimal, Decimal) Modulus(Decimal, Decimal) Modulus(Decimal, Decimal) Возвращает остаток от деления двух заданных значений Decimal.Returns the remainder resulting from dividing two specified Decimal values. Multiply(Decimal, Decimal) Multiply(Decimal, Decimal) Multiply(Decimal, Decimal) Multiply(Decimal, Decimal) Умножает два заданных значения типа Decimal.Multiplies two specified Decimal values. Subtraction(Decimal, Decimal) Subtraction(Decimal, Decimal) Subtraction(Decimal, Decimal) Subtraction(Decimal, Decimal) Находит разность двух заданных значений типа Decimal.Subtracts two specified Decimal values. UnaryNegation(Decimal) UnaryNegation(Decimal) UnaryNegation(Decimal) UnaryNegation(Decimal) Делает отрицательным значение заданного операнда типа Decimal.Negates the value of the specified Decimal operand. UnaryPlus(Decimal) UnaryPlus(Decimal) UnaryPlus(Decimal) UnaryPlus(Decimal) Возвращает значение операнда Decimal (знак операнда при этом не меняется).Returns the value of the Decimal operand (the sign of the operand is unchanged).

## Явные реализации интерфейса

 IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) Описание этого члена см. в разделе ToBoolean(IFormatProvider).For a description of this member, see ToBoolean(IFormatProvider). IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) Описание этого члена см. в разделе ToByte(IFormatProvider).For a description of this member, see ToByte(IFormatProvider). IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) Данное преобразование не поддерживается.This conversion is not supported. При попытке использовать этот метод выбрасывается исключение InvalidCastException.Attempting to use this method throws an InvalidCastException. IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) Данное преобразование не поддерживается.This conversion is not supported. При попытке использовать этот метод выбрасывается исключение InvalidCastException.Attempting to use this method throws an InvalidCastException. IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) Описание этого члена см. в разделе ToDecimal(IFormatProvider).For a description of this member, see ToDecimal(IFormatProvider). IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) Описание этого члена см. в разделе ToDouble(IFormatProvider).For a description of this member, see ToDouble(IFormatProvider). IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) Описание этого члена см. в разделе ToInt16(IFormatProvider).For a description of this member, see ToInt16(IFormatProvider). IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) Описание этого члена см. в разделе ToInt32(IFormatProvider).For a description of this member, see ToInt32(IFormatProvider). IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) Описание этого члена см. в разделе ToInt64(IFormatProvider).For a description of this member, see ToInt64(IFormatProvider). IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) Описание этого члена см. в разделе ToSByte(IFormatProvider).For a description of this member, see ToSByte(IFormatProvider). IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) Описание этого члена см. в разделе ToSingle(IFormatProvider).For a description of this member, see ToSingle(IFormatProvider). IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) Описание этого члена см. в разделе ToType(Type, IFormatProvider).For a description of this member, see ToType(Type, IFormatProvider). IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) Описание этого члена см. в разделе ToUInt16(IFormatProvider).For a description of this member, see ToUInt16(IFormatProvider). IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) Описание этого члена см. в разделе ToInt32(IFormatProvider).For a description of this member, see ToInt32(IFormatProvider). IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) Описание этого члена см. в разделе ToInt64(IFormatProvider).For a description of this member, see ToInt64(IFormatProvider). IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object) IDeserializationCallback.OnDeserialization(Object) Выполняется после завершения десериализации объекта.Runs when the deserialization of an object has been completed.

## Потокобезопасность

Все члены этого типа являются потокобезопасными.All members of this type are thread safe. Члены, которые могут изменить состояние экземпляра, в действительности возвращают новый экземпляр, инициализированный новым значением.Members that appear to modify instance state actually return a new instance initialized with the new value. Как с любым другим типом, чтение и запись общей переменной, которая содержит экземпляр этого типа, должны быть защищены блокировкой для обеспечения потокобезопасности.As with any other type, reading and writing to a shared variable that contains an instance of this type must be protected by a lock to guarantee thread safety.