BigInteger.Explicit 演算子

定義

BigInteger オブジェクトと別の型の間の明示的な変換を定義します。Defines an explicit conversion between a BigInteger object and another type.

オーバーロード

Explicit(Decimal to BigInteger)

Decimal オブジェクトから BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Decimal object to a BigInteger value.

Explicit(Double to BigInteger)

Double 値から BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Double value to a BigInteger value.

Explicit(BigInteger to Byte)

BigInteger オブジェクトから符号なしバイト値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned byte value.

Explicit(BigInteger to Decimal)

BigInteger オブジェクトから Decimal 値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a Decimal value.

Explicit(BigInteger to Double)

BigInteger オブジェクトから Double 値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a Double value.

Explicit(BigInteger to Int16)

BigInteger オブジェクトから 16 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 16-bit signed integer value.

Explicit(BigInteger to Int32)

BigInteger オブジェクトから 32 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 32-bit signed integer value.

Explicit(BigInteger to Int64)

BigInteger オブジェクトから 64 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 64-bit signed integer value.

Explicit(BigInteger to SByte)

BigInteger オブジェクトから符号付き 8 ビット値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a signed 8-bit value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int16.を使用できます。The compliant alternative is Int16.

Explicit(BigInteger to Single)

BigInteger オブジェクトから単精度浮動小数点値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a single-precision floating-point value.

Explicit(BigInteger to UInt16)

BigInteger オブジェクトから符号なし 16 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 16-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int32.を使用できます。The compliant alternative is Int32.

Explicit(BigInteger to UInt32)

BigInteger オブジェクトから符号なし 32 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 32-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int64.を使用できます。The compliant alternative is Int64.

Explicit(BigInteger to UInt64)

BigInteger オブジェクトから符号なし 64 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 64-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Double.を使用できます。The compliant alternative is Double.

Explicit(Single to BigInteger)

Single 値から BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Single value to a BigInteger value.

Explicit(Decimal to BigInteger)

Decimal オブジェクトから BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Decimal object to a BigInteger value.

public:
 static explicit operator System::Numerics::BigInteger(System::Decimal value);
public static explicit operator System.Numerics.BigInteger (decimal value);
static member op_Explicit : decimal -> System.Numerics.BigInteger
Public Shared Narrowing Operator CType (value As Decimal) As BigInteger

パラメーター

value
Decimal

BigInteger へと変換する値。The value to convert to a BigInteger.

戻り値

BigInteger

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

次の例では、Decimal 値の配列内の個々の要素を BigInteger のオブジェクトに変換し、各変換の結果を表示します。The following example converts the individual elements in an array of Decimal values to BigInteger objects, and then displays the result of each conversion. Decimal 値の小数部分は、変換中に切り捨てられることに注意してください。Note that any fractional part of a Decimal value is truncated during the conversion.

decimal[] decimals = { Decimal.MinValue, -15632.991m, 9029321.12m,
                       Decimal.MaxValue };
BigInteger number;

Console.WriteLine("{0,35} {1,35}\n", "Decimal", "BigInteger");

foreach (decimal value in decimals)
{
   number = (BigInteger) value;
   Console.WriteLine("{0,35} {1,35}", value, number);
}
// The example displays the following output:
//
//                          Decimal                          BigInteger
//
//    -79228162514264337593543950335      -79228162514264337593543950335
//                       -15632.991                              -15632
//                       9029321.12                             9029321
//    79228162514264337593543950335       79228162514264337593543950335
' Explicit Decimal to BigInteger conversion
Dim decimals() As Decimal = { Decimal.MinValue, -15632.991d, 9029321.12d, 
                              Decimal.MaxValue }
Dim number As BigInteger 

Console.WriteLine("{0,35} {1,35}", "Decimal", "BigInteger")
Console.WriteLine()
For Each value As Decimal In decimals
   number = CType(value, BigInteger)
   Console.WriteLine("{0,35} {1,35}",
                     value, number)
Next
' The example displays the following output:
'
'                          Decimal                          BigInteger
'    
'    -79228162514264337593543950335      -79228162514264337593543950335
'                       -15632.991                              -15632
'                       9029321.12                             9029321
'    79228162514264337593543950335       79228162514264337593543950335

注釈

value パラメーターの小数部分は、変換前に切り捨てられます。Any fractional part of the value parameter is truncated before conversion.

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. Decimal から BigInteger への変換では valueの小数部分が切り捨てられることがあるため、言語コンパイラでは、この変換は自動的には実行されません。Because the conversion from Decimal to BigInteger can involve truncating any fractional part of value, language compilers do not perform this conversion automatically. 代わりに、キャスト演算子 (でC#は) または変換関数 (Visual Basic の CType など) が使用されている場合にのみ、変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

カスタム演算子をサポートしていない言語の場合、代替方法は BigInteger.BigInteger(Decimal)です。For languages that do not support custom operators, the alternative method is BigInteger.BigInteger(Decimal).

Explicit(Double to BigInteger)

Double 値から BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Double value to a BigInteger value.

public:
 static explicit operator System::Numerics::BigInteger(double value);
public static explicit operator System.Numerics.BigInteger (double value);
static member op_Explicit : double -> System.Numerics.BigInteger
Public Shared Narrowing Operator CType (value As Double) As BigInteger

パラメーター

value
Double

BigInteger へと変換する値。The value to convert to a BigInteger.

戻り値

BigInteger

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

例外

次の例では、Double 値の配列内の個々の要素を BigInteger のオブジェクトに変換し、各変換の結果を表示します。The following example converts the individual elements in an array of Double values to BigInteger objects, and then displays the result of each conversion. Double 値の小数部分は、変換中に切り捨てられることに注意してください。Note that any fractional part of a Double value is truncated during the conversion.

double[] doubles = { Double.MinValue, -1.430955172e03, 2.410970032e05,
                     Double.MaxValue, Double.PositiveInfinity,
                     Double.NegativeInfinity, Double.NaN };
BigInteger number;

Console.WriteLine("{0,37} {1,37}\n", "Double", "BigInteger");

foreach (double value in doubles)
{
   try {
      number = (BigInteger) value;
      Console.WriteLine("{0,37} {1,37}", value, number);
   }
   catch (OverflowException) {
      Console.WriteLine("{0,37} {1,37}", value, "OverflowException");
   }
}
// The example displays the following output:
//                                Double                            BigInteger
//
//                -1.79769313486232E+308  -1.7976931348623157081452742373E+308
//                          -1430.955172                                 -1430
//                           241097.0032                                241097
//                 1.79769313486232E+308   1.7976931348623157081452742373E+308
//                              Infinity                     OverflowException
//                             -Infinity                     OverflowException
//                                   NaN                     OverflowException
Dim doubles() As Double = { Double.MinValue, -1.430955172e03, 2.410970032e05, 
                            Double.MaxValue, Double.PositiveInfinity, 
                            Double.NegativeInfinity, Double.NaN }
Dim number As BigInteger

Console.WriteLine("{0,37} {1,37}", "Double", "BigInteger")
Console.WriteLine()
For Each value As Double In doubles
   Try
      number = CType(value, BigInteger)
      Console.WriteLine("{0,37} {1,37}", value, number)
   Catch e As OverflowException
      Console.WriteLine("{0,37} {1,37}", value, "OverflowException")
   End Try      
Next
' The example displays the following output:
'                                Double                            BigInteger
' 
'                -1.79769313486232E+308  -1.7976931348623157081452742373E+308
'                          -1430.955172                                 -1430
'                           241097.0032                                241097
'                 1.79769313486232E+308   1.7976931348623157081452742373E+308
'                              Infinity                     OverflowException
'                             -Infinity                     OverflowException
'                                   NaN                     OverflowException      

注釈

value パラメーターの小数部分は、変換前に切り捨てられます。Any fractional part of the value parameter is truncated before conversion.

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. Double から BigInteger への変換では valueの小数部分が切り捨てられることがあるため、言語コンパイラでは、この変換は自動的には実行されません。Because the conversion from Double to BigInteger can involve truncating any fractional part of value, language compilers do not perform this conversion automatically. 代わりに、キャスト演算子 (でC#は) または変換関数 (Visual Basic の CType など) が使用されている場合にのみ、変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

カスタム演算子をサポートしていない言語の場合、代替方法は BigInteger.BigInteger(Double)です。For languages that do not support custom operators, the alternative method is BigInteger.BigInteger(Double).

Explicit(BigInteger to Byte)

BigInteger オブジェクトから符号なしバイト値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned byte value.

public:
 static explicit operator System::Byte(System::Numerics::BigInteger value);
public static explicit operator byte (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> byte
Public Shared Narrowing Operator CType (value As BigInteger) As Byte

パラメーター

value
BigInteger

Byte へと変換する値。The value to convert to a Byte.

戻り値

Byte

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

例外

valueMinValue 未満であるか、 MaxValueを超えています。value is less than MinValue or greater than MaxValue.

次の例は、BigIntegerByte 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to Byte values. また、BigInteger 値が Byte データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the Byte data type.

// BigInteger to Byte conversion.
BigInteger goodByte = BigInteger.One;
BigInteger badByte = 256;

byte byteFromBigInteger;

// Successful conversion using cast operator.
byteFromBigInteger = (byte) goodByte;
Console.WriteLine(byteFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   byteFromBigInteger = (byte) badByte;
   Console.WriteLine(byteFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badByte, e.Message);
}
Console.WriteLine();
' BigInteger to Byte conversion.
Dim goodByte As BigInteger = BigInteger.One
Dim badByte As BigInteger = 256

Dim byteFromBigInteger As Byte   

' Convert using CType function.
byteFromBigInteger = CType(goodByte, Byte)
Console.WriteLine(byteFromBigInteger)
' Convert using CByte function.
byteFromBigInteger = CByte(goodByte)
Console.WriteLine(byteFromBigInteger)

' Handle conversion that should result in overflow.
Try
   byteFromBigInteger = CType(badByte, Byte)
   Console.WriteLine(byteFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badByte, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CByte など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CByte in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

この操作は縮小変換を定義するので、BigInteger 値が Byte データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the Byte data type. 変換が成功した場合、結果の Byte 値に精度が失われることはありません。There is no loss of precision in the resulting Byte value if the conversion is successful.

Explicit(BigInteger to Decimal)

BigInteger オブジェクトから Decimal 値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a Decimal value.

public:
 static explicit operator System::Decimal(System::Numerics::BigInteger value);
public static explicit operator decimal (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> decimal
Public Shared Narrowing Operator CType (value As BigInteger) As Decimal

パラメーター

value
BigInteger

Decimal へと変換する値。The value to convert to a Decimal.

戻り値

Decimal

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

例外

valueMinValue 未満であるか、 MaxValueを超えています。value is less than MinValue or greater than MaxValue.

次の例は、BigIntegerDecimal 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to Decimal values. また、BigInteger 値が Decimal データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the Decimal data type.

// BigInteger to Decimal conversion.
BigInteger goodDecimal = 761652543;
BigInteger badDecimal = (BigInteger) Decimal.MaxValue;
badDecimal += BigInteger.One;

Decimal decimalFromBigInteger;

// Successful conversion using cast operator.
decimalFromBigInteger = (decimal) goodDecimal;
Console.WriteLine(decimalFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   decimalFromBigInteger = (decimal) badDecimal;
   Console.WriteLine(decimalFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badDecimal, e.Message);
}
Console.WriteLine();
' BigInteger to Decimal conversion.
Dim goodDecimal As BigInteger = 761652543
Dim badDecimal As BigInteger = CType(Decimal.MaxValue, BigInteger) 
badDecimal += BigInteger.One

Dim decimalFromBigInteger As Decimal

' Convert using CType function.
decimalFromBigInteger = CType(goodDecimal, Decimal)
Console.WriteLine(decimalFromBigInteger)
' Convert using CDec function.
decimalFromBigInteger = CDec(goodDecimal)
Console.WriteLine(decimalFromBigInteger)

' Handle conversion that should result in overflow.
Try
   decimalFromBigInteger = CType(badDecimal, Decimal)
   Console.WriteLine(decimalFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badDecimal, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CDec など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CDec in Visual Basic) is used.

この操作は縮小変換を定義するので、BigInteger 値が Decimal データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the Decimal data type.

Explicit(BigInteger to Double)

BigInteger オブジェクトから Double 値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a Double value.

public:
 static explicit operator double(System::Numerics::BigInteger value);
public static explicit operator double (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> double
Public Shared Narrowing Operator CType (value As BigInteger) As Double

パラメーター

value
BigInteger

Double へと変換する値。The value to convert to a Double.

戻り値

Double

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

次の例は、BigIntegerDouble 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to Double values.

// BigInteger to Double conversion.
BigInteger goodDouble = (BigInteger) 102.43e22;
BigInteger badDouble = (BigInteger) Double.MaxValue;
badDouble = badDouble * 2;

double doubleFromBigInteger;

// successful conversion using cast operator.
doubleFromBigInteger = (double) goodDouble;
Console.WriteLine(doubleFromBigInteger);

// Convert an out-of-bounds BigInteger value to a Double.
doubleFromBigInteger = (double) badDouble;
Console.WriteLine(doubleFromBigInteger);
' BigInteger to Double conversion.
Dim goodDouble As BigInteger = 102.43e22
Dim badDouble As BigInteger = CType(Double.MaxValue, BigInteger)  
badDouble = badDouble * 2

Dim doubleFromBigInteger As Double

' Convert using CType function.
doubleFromBigInteger = CType(goodDouble, Double)
Console.WriteLine(doubleFromBigInteger)
' Convert using CDbl function.
doubleFromBigInteger = CDbl(goodDouble)
Console.WriteLine(doubleFromBigInteger)

' Convert an out-of-bounds BigInteger value to a Double.
doubleFromBigInteger = CType(badDouble, Double)
Console.WriteLine(doubleFromBigInteger)

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CDbl など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CDbl in Visual Basic) is used.

BigInteger 値は Double データ型の範囲外になる可能性があるため、この操作は縮小変換です。Because the BigInteger value can be outside the range of the Double data type, this operation is a narrowing conversion. 変換に失敗した場合、OverflowExceptionはスローされません。If the conversion is unsuccessful, it does not throw an OverflowException. 代わりに、BigInteger の値が Double.MinValue未満の場合、結果の Double 値は Double.NegativeInfinityになります。Instead, if the BigInteger value is less than Double.MinValue, the resulting Double value is Double.NegativeInfinity. BigInteger 値が Double.MaxValueより大きい場合、結果として得られる Double 値は Double.PositiveInfinityになります。If the BigInteger value is greater than Double.MaxValue, the resulting Double value is Double.PositiveInfinity.

Double への BigInteger の変換には、精度の低下が伴います。The conversion of a BigInteger to a Double may involve a loss of precision. 場合によっては、有効桁数が失われると、BigInteger 値が Double データ型の範囲外にある場合でも、キャストまたは変換操作が成功する可能性があります。In some cases, the loss of precision may cause the casting or conversion operation to succeed even if the BigInteger value is outside the range of the Double data type. 次に例を示します。The following example provides an illustration. Double の最大値が2つの BigInteger 変数に割り当てられ、1つの BigInteger 変数が 9.999 e291 によってインクリメントされ、2つの変数が等しいかどうかがテストされます。It assigns the maximum value of a Double to two BigInteger variables, increments one BigInteger variable by 9.999e291, and tests the two variables for equality. 予想どおり、BigInteger.Equals(BigInteger) メソッドを呼び出すと、それらが等しくないことが示されます。As expected, the call to the BigInteger.Equals(BigInteger) method shows that they are unequal. ただし、大きい BigInteger 値から Double への変換は成功しますが、BigInteger 値は Double.MaxValueを超えています。However, the conversion of the larger BigInteger value back to a Double succeeds, although the BigInteger value now exceeds Double.MaxValue.

// Increase a BigInteger so it exceeds Double.MaxValue.
BigInteger number1 = (BigInteger) Double.MaxValue;
BigInteger number2 = number1;
number2 = number2 + (BigInteger) 9.999e291;
// Compare the BigInteger values for equality.
Console.WriteLine("BigIntegers equal: {0}", number2.Equals(number1));

// Convert the BigInteger to a Double.
double dbl = (double) number2;

// Display the two values.
Console.WriteLine("BigInteger: {0}", number2);
Console.WriteLine("Double:     {0}", dbl);
// The example displays the following output:
//       BigIntegers equal: False
//       BigInteger: 1.7976931348623158081352742373E+308
//       Double:     1.79769313486232E+308
' Increase a BigInteger so it exceeds Double.MaxValue.
Dim number1 As BigInteger = CType(Double.MaxValue, BigInteger)
Dim number2 As BigInteger = number1
number2 = number2 + 9.999e291
' Compare the BigInteger values for equality.
Console.WriteLine("BigIntegers equal: {0}", number2.Equals(number1))

' Convert the BigInteger to a Double.
Dim dbl As Double = CType(number2, Double)

' Display the two values.
Console.WriteLine("BigInteger: {0}", number2)
Console.WriteLine("Double:     {0}", dbl)      
' The example displays the following output:
'       BigIntegers equal: False
'       BigInteger: 1.7976931348623158081352742373E+308
'       Double:     1.79769313486232E+308      

Explicit(BigInteger to Int16)

BigInteger オブジェクトから 16 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 16-bit signed integer value.

public:
 static explicit operator short(System::Numerics::BigInteger value);
public static explicit operator short (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> int16
Public Shared Narrowing Operator CType (value As BigInteger) As Short

パラメーター

value
BigInteger

16 ビット符号付き整数へと変換する値。The value to convert to a 16-bit signed integer.

戻り値

Int16

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

例外

valueMinValue より小さいか MaxValue より大きいです。value is less than MinValue or is greater than MaxValue.

次の例は、BigIntegerInt16 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to Int16 values. また、BigInteger 値が Int16 データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the Int16 data type.

// BigInteger to Int16 conversion.
BigInteger goodShort = 20000;
BigInteger badShort = 33000;

short shortFromBigInteger;

// Successful conversion using cast operator.
shortFromBigInteger = (short) goodShort;
Console.WriteLine(shortFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   shortFromBigInteger = (short) badShort;
   Console.WriteLine(shortFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badShort, e.Message);
}
Console.WriteLine();
' BigInteger to Int16 conversion.
Dim goodShort As BigInteger = 20000
Dim badShort As BigInteger = 33000

Dim shortFromBigInteger As Short

' Convert using CType function.
shortFromBigInteger = CType(goodShort, Short)
Console.WriteLine(shortFromBigInteger)
' Convert using CShort function.
shortFromBigInteger = CShort(goodShort)
Console.WriteLine(shortFromBigInteger)

' Handle conversion that should result in overflow.
Try
   shortFromBigInteger = CType(badShort, Short)
   Console.WriteLine(shortFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badShort, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CShort など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CShort in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

この操作は縮小変換を定義するので、BigInteger 値が Int16 データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the Int16 data type. 変換が成功した場合、結果の Int16 値に精度が失われることはありません。There is no loss of precision in the resulting Int16 value if the conversion is successful.

Explicit(BigInteger to Int32)

BigInteger オブジェクトから 32 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 32-bit signed integer value.

public:
 static explicit operator int(System::Numerics::BigInteger value);
public static explicit operator int (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> int
Public Shared Narrowing Operator CType (value As BigInteger) As Integer

パラメーター

value
BigInteger

32 ビット符号付き整数に変換する値。The value to convert to a 32-bit signed integer.

戻り値

Int32

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

例外

valueMinValue より小さいか MaxValue より大きいです。value is less than MinValue or is greater than MaxValue.

次の例は、BigIntegerInt32 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to Int32 values. また、BigInteger 値が Int32 データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the Int32 data type.

// BigInteger to Int32 conversion.
BigInteger goodInteger = 200000;
BigInteger badInteger = 65000000000;

int integerFromBigInteger;

// Successful conversion using cast operator.
integerFromBigInteger = (int) goodInteger;
Console.WriteLine(integerFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   integerFromBigInteger = (int) badInteger;
   Console.WriteLine(integerFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badInteger, e.Message);
}
Console.WriteLine();
' BigInteger to Int32 conversion.
Dim goodInteger As BigInteger = 200000
Dim badInteger As BigInteger = 65000000000

Dim integerFromBigInteger As Integer

' Convert using CType function.
integerFromBigInteger = CType(goodInteger, Integer)
Console.WriteLine(integerFromBigInteger)
' Convert using CInt function.
integerFromBigInteger = CInt(goodInteger)
Console.WriteLIne(integerFromBigInteger)

' Handle conversion that should result in overflow.
Try
   integerFromBigInteger = CType(badInteger, Integer)
   Console.WriteLine(integerFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badInteger, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CInt など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CInt in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

この操作は縮小変換を定義するので、BigInteger 値が Int32 データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the Int32 data type. 変換が成功した場合、結果の Int32 値に精度が失われることはありません。There is no loss of precision in the resulting Int32 value if the conversion is successful.

Explicit(BigInteger to Int64)

BigInteger オブジェクトから 64 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 64-bit signed integer value.

public:
 static explicit operator long(System::Numerics::BigInteger value);
public static explicit operator long (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> int64
Public Shared Narrowing Operator CType (value As BigInteger) As Long

パラメーター

value
BigInteger

64 ビット符号付き整数へと変換する値。The value to convert to a 64-bit signed integer.

戻り値

Int64

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

例外

valueMinValue より小さいか MaxValue より大きいです。value is less than MinValue or is greater than MaxValue.

次の例は、BigIntegerInt64 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to Int64 values. また、BigInteger 値が Int64 データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the Int64 data type.

// BigInteger to Int64 conversion.
BigInteger goodLong = 2000000000;
BigInteger badLong = BigInteger.Pow(goodLong, 3);

long longFromBigInteger;

// Successful conversion using cast operator.
longFromBigInteger = (long) goodLong;
Console.WriteLine(longFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   longFromBigInteger = (long) badLong;
   Console.WriteLine(longFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badLong, e.Message);
}
Console.WriteLine();
' BigInteger to Int64 conversion.
Dim goodLong As BigInteger = 2000000000
Dim badLong As BigInteger = BigInteger.Pow(goodLong, 3)

Dim longFromBigInteger As Long

' Convert using CType function.
longFromBigInteger = CType(goodLong, Long)
Console.WriteLine(longFromBigInteger)
' Convert using CLng function.
longFromBigInteger = CLng(goodLong)
Console.WriteLine(longFromBigInteger)

' Handle conversion that should result in overflow.
Try
   longFromBigInteger = CType(badLong, Long)
   Console.WriteLine(longFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badLong, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CLng など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CLng in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

この操作は縮小変換を定義するので、BigInteger 値が Int64 データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the Int64 data type.

Explicit(BigInteger to SByte)

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Int16

BigInteger オブジェクトから符号付き 8 ビット値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a signed 8-bit value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int16.を使用できます。The compliant alternative is Int16.

public:
 static explicit operator System::SByte(System::Numerics::BigInteger value);
[System.CLSCompliant(false)]
public static explicit operator sbyte (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> sbyte
Public Shared Narrowing Operator CType (value As BigInteger) As SByte

パラメーター

value
BigInteger

符号付き 8 ビット値へと変換する値。The value to convert to a signed 8-bit value.

戻り値

SByte

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

属性

例外

valueMinValue より小さいか MaxValue より大きいです。value is less than MinValue or is greater than MaxValue.

次の例は、BigIntegerSByte 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to SByte values. また、BigInteger 値が SByte データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the SByte data type.

// BigInteger to SByte conversion.
BigInteger goodSByte = BigInteger.MinusOne;
BigInteger badSByte = -130;

sbyte sByteFromBigInteger;

// Successful conversion using cast operator.
sByteFromBigInteger = (sbyte) goodSByte;
Console.WriteLine(sByteFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   sByteFromBigInteger = (sbyte) badSByte;
   Console.WriteLine(sByteFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badSByte, e.Message);
}
Console.WriteLine();
' BigInteger to SByte conversion.
Dim goodSByte As BigInteger = BigInteger.MinusOne
Dim badSByte As BigInteger = -130

Dim sByteFromBigInteger As SByte

' Convert using CType function.
sByteFromBigInteger = CType(goodSByte, SByte)
Console.WriteLine(sByteFromBigInteger)
' Convert using CSByte function.
sByteFromBigInteger = CSByte(goodSByte)
Console.WriteLine(sByteFromBigInteger)

' Handle conversion that should result in overflow.
Try
   sByteFromBigInteger = CType(badSByte, SByte)
   Console.WriteLine(sByteFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badSByte, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CSByte など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CSByte in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

この操作は縮小変換を定義するので、BigInteger 値が SByte データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the SByte data type. 変換が成功した場合、結果の SByte 値に精度が失われることはありません。There is no loss of precision in the resulting SByte value if the conversion is successful.

Explicit(BigInteger to Single)

BigInteger オブジェクトから単精度浮動小数点値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a single-precision floating-point value.

public:
 static explicit operator float(System::Numerics::BigInteger value);
public static explicit operator float (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> single
Public Shared Narrowing Operator CType (value As BigInteger) As Single

パラメーター

value
BigInteger

単精度浮動小数点値へと変換する値。The value to convert to a single-precision floating-point value.

戻り値

Single

value パラメーターの値にできるだけ近い値となるように変換したオブジェクト。An object that contains the closest possible representation of the value parameter.

次の例は、BigIntegerSingle 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to Single values.

// BigInteger to Single conversion.
BigInteger goodSingle = (BigInteger) 102.43e22F;
BigInteger badSingle = (BigInteger) float.MaxValue;
badSingle = badSingle * 2;

float singleFromBigInteger;

// Successful conversion using cast operator.
singleFromBigInteger = (float) goodSingle;
Console.WriteLine(singleFromBigInteger);

// Convert an out-of-bounds BigInteger value to a Single.
singleFromBigInteger = (float) badSingle;
Console.WriteLine(singleFromBigInteger);
' BigInteger to Single conversion.
Dim goodSingle As BigInteger = 102.43e22
Dim badSingle As BigInteger = CType(Single.MaxValue, BigInteger)  
badSingle = badSingle * 2

Dim singleFromBigInteger As Single

' Convert using CType function.
singleFromBigInteger = CType(goodSingle, Single)
Console.WriteLine(singleFromBigInteger)
' Convert using CSng function.
singleFromBigInteger = CSng(goodSingle)
Console.WriteLine(singleFromBigInteger)

' Convert an out-of-bounds BigInteger value to a Single.
singleFromBigInteger = CType(badSingle, Single)
Console.WriteLine(singleFromBigInteger)

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データの損失や精度の低下が伴う可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss or a loss of precision. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CSng など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CSng in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

BigInteger 値は Single データ型の範囲外になる可能性があるため、この操作は縮小変換です。Because the BigInteger value can be outside the range of the Single data type, this operation is a narrowing conversion. 変換に失敗した場合、OverflowExceptionはスローされません。If the conversion is unsuccessful, it does not throw an OverflowException. 代わりに、BigInteger の値が Single.MinValue未満の場合、結果の Single 値は Single.NegativeInfinityになります。Instead, if the BigInteger value is less than Single.MinValue, the resulting Single value is Single.NegativeInfinity. BigInteger 値が Single.MaxValueより大きい場合、結果として得られる Single 値は Single.PositiveInfinityになります。If the BigInteger value is greater than Single.MaxValue, the resulting Single value is Single.PositiveInfinity.

Single への BigInteger の変換には、精度の低下が伴います。The conversion of a BigInteger to a Single may involve a loss of precision. 場合によっては、有効桁数が失われると、BigInteger 値が Single データ型の範囲外にある場合でも、キャストまたは変換操作が成功する可能性があります。In some cases, the loss of precision may cause the casting or conversion operation to succeed even if the BigInteger value is outside the range of the Single data type. 次に例を示します。The following example provides an illustration. Single の最大値が2つの BigInteger 変数に割り当てられ、1つの BigInteger 変数が 9.999 e291 によってインクリメントされ、2つの変数が等しいかどうかがテストされます。It assigns the maximum value of a Single to two BigInteger variables, increments one BigInteger variable by 9.999e291, and tests the two variables for equality. 予想どおり、BigInteger.Equals(BigInteger) メソッドを呼び出すと、それらが等しくないことが示されます。As expected, the call to the BigInteger.Equals(BigInteger) method shows that they are unequal. ただし、大きい BigInteger 値から Single への変換は成功しますが、BigInteger 値は Single.MaxValueを超えています。However, the conversion of the larger BigInteger value back to a Single succeeds, although the BigInteger value now exceeds Single.MaxValue.

// Increase a BigInteger so it exceeds Single.MaxValue.
BigInteger number1 = (BigInteger) Single.MaxValue;
BigInteger number2 = number1;
number2 = number2 + (BigInteger) 9.999e30;
// Compare the BigInteger values for equality.
Console.WriteLine("BigIntegers equal: {0}", number2.Equals(number1));

// Convert the BigInteger to a Single.
float sng = (float) number2;

// Display the two values.
Console.WriteLine("BigInteger: {0}", number2);
Console.WriteLine("Single:     {0}", sng);
// The example displays the following output:
//       BigIntegers equal: False
//       BigInteger: 3.4028235663752885981170396038E+38
//       Single:     3.402823E+38
' Increase a BigInteger so it exceeds Single.MaxValue.
Dim number1 As BigInteger = CType(Single.MaxValue, BigInteger)
Dim number2 As BigInteger = number1
number2 = number2 + 9.999e30
' Compare the BigInteger values for equality.
Console.WriteLine("BigIntegers equal: {0}", number2.Equals(number1))

' Convert the BigInteger to a Single.
Dim sng As Single = CType(number2, Single)

' Display the two values.
Console.WriteLine("BigInteger: {0}", number2)
Console.WriteLine("Single:     {0}", sng)      
' The example displays the following output:
'       BigIntegers equal: False
'       BigInteger: 3.4028235663752885981170396038E+38
'       Single:     3.402823E+38

Explicit(BigInteger to UInt16)

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Int32

BigInteger オブジェクトから符号なし 16 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 16-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int32.を使用できます。The compliant alternative is Int32.

public:
 static explicit operator System::UInt16(System::Numerics::BigInteger value);
[System.CLSCompliant(false)]
public static explicit operator ushort (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> uint16
Public Shared Narrowing Operator CType (value As BigInteger) As UShort

パラメーター

value
BigInteger

符号なし 16 ビット整数へと変換する値。The value to convert to an unsigned 16-bit integer.

戻り値

UInt16

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

属性

例外

valueMinValue より小さいか MaxValue より大きいです。value is less than MinValue or is greater than MaxValue.

次の例は、BigIntegerUInt16 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to UInt16 values. また、BigInteger 値が UInt16 データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the UInt16 data type.

// BigInteger to UInt16 conversion.
BigInteger goodUShort = 20000;
BigInteger badUShort = 66000;

ushort uShortFromBigInteger;

// Successful conversion using cast operator.
uShortFromBigInteger = (ushort) goodUShort;
Console.WriteLine(uShortFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   uShortFromBigInteger = (ushort) badUShort;
   Console.WriteLine(uShortFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badUShort, e.Message);
}
Console.WriteLine();
' BigInteger to UInt16 conversion.
Dim goodUShort As BigInteger = 20000
Dim badUShort As BigInteger = 66000

Dim uShortFromBigInteger As UShort

' Convert using CType function.
uShortFromBigInteger = CType(goodUShort, UShort)
Console.WriteLine(uShortFromBigInteger)
' Convert using CUShort function.
uShortFromBigInteger = CUShort(goodUShort)
Console.WriteLine(uShortFromBigInteger)

' Handle conversion that should result in overflow.
Try
   uShortFromBigInteger = CType(badUShort, UShort)
   Console.WriteLine(uShortFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badUShort, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CUShort など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CUShort in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

この操作は縮小変換を定義するので、BigInteger 値が UInt16 データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the UInt16 data type. 変換が成功した場合、結果の UInt16 値に精度が失われることはありません。There is no loss of precision in the resulting UInt16 value if the conversion is successful.

Explicit(BigInteger to UInt32)

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Int64

BigInteger オブジェクトから符号なし 32 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 32-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int64.を使用できます。The compliant alternative is Int64.

public:
 static explicit operator System::UInt32(System::Numerics::BigInteger value);
[System.CLSCompliant(false)]
public static explicit operator uint (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> uint32
Public Shared Narrowing Operator CType (value As BigInteger) As UInteger

パラメーター

value
BigInteger

符号なし 32 ビット整数へと変換する値。The value to convert to an unsigned 32-bit integer.

戻り値

UInt32

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

属性

例外

valueMinValue より小さいか MaxValue より大きいです。value is less than MinValue or is greater than MaxValue.

次の例は、BigIntegerUInt32 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to UInt32 values. また、BigInteger 値が UInt32 データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the UInt32 data type.

// BigInteger to UInt32 conversion.
BigInteger goodUInteger = 200000;
BigInteger badUInteger = 65000000000;

uint uIntegerFromBigInteger;

// Successful conversion using cast operator.
uIntegerFromBigInteger = (uint) goodInteger;
Console.WriteLine(uIntegerFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   uIntegerFromBigInteger = (uint) badUInteger;
   Console.WriteLine(uIntegerFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badUInteger, e.Message);
}
Console.WriteLine();
' BigInteger to UInt32 conversion.
Dim goodUInteger As BigInteger = 200000
Dim badUInteger As BigInteger = 65000000000

Dim uIntegerFromBigInteger As UInteger

' Convert using CType function.
uIntegerFromBigInteger = CType(goodInteger, UInteger)
Console.WriteLine(uIntegerFromBigInteger)
' Convert using CUInt function.
uIntegerFromBigInteger = CUInt(goodInteger)
Console.WriteLine(uIntegerFromBigInteger)

' Handle conversion that should result in overflow.
Try
   uIntegerFromBigInteger = CType(badUInteger, UInteger)
   Console.WriteLine(uIntegerFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badUInteger, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CUInt など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CUInt in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

この操作は縮小変換を定義するので、BigInteger 値が UInt32 データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the UInt32 data type. 変換が成功した場合、結果の UInt32 値に精度が失われることはありません。There is no loss of precision in the resulting UInt32 value if the conversion is successful.

Explicit(BigInteger to UInt64)

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Double

BigInteger オブジェクトから符号なし 64 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 64-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Double.を使用できます。The compliant alternative is Double.

public:
 static explicit operator System::UInt64(System::Numerics::BigInteger value);
[System.CLSCompliant(false)]
public static explicit operator ulong (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> uint64
Public Shared Narrowing Operator CType (value As BigInteger) As ULong

パラメーター

value
BigInteger

符号なし 64 ビット整数へと変換する値。The value to convert to an unsigned 64-bit integer.

戻り値

UInt64

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

属性

例外

valueMinValue より小さいか MaxValue より大きいです。value is less than MinValue or is greater than MaxValue.

次の例は、BigIntegerUInt64 値に変換する方法を示しています。The following example illustrates the conversion of BigInteger to UInt64 values. また、BigInteger 値が UInt64 データ型の範囲外であるためにスローされる OverflowException も処理します。It also handles an OverflowException that is thrown because the BigInteger value is outside the range of the UInt64 data type.

// BigInteger to UInt64 conversion.
BigInteger goodULong = 2000000000;
BigInteger badULong = BigInteger.Pow(goodULong, 3);

ulong uLongFromBigInteger;

// Successful conversion using cast operator.
uLongFromBigInteger = (ulong) goodULong;
Console.WriteLine(uLongFromBigInteger);

// Handle conversion that should result in overflow.
try
{
   uLongFromBigInteger = (ulong) badULong;
   Console.WriteLine(uLongFromBigInteger);
}
catch (OverflowException e)
{
   Console.WriteLine("Unable to convert {0}:\n   {1}",
                     badULong, e.Message);
}
Console.WriteLine();
' BigInteger to UInt64 conversion.
Dim goodULong As BigInteger = 2000000000
Dim badULong As BigInteger = BigInteger.Pow(goodULong, 3)

Dim uLongFromBigInteger As ULong

' Convert using CType function.
uLongFromBigInteger = CType(goodULong, ULong)
Console.WriteLine(uLongFromBigInteger)
' Convert using CULng function.
uLongFromBigInteger = CULng(goodULong)
Console.WriteLine(uLongFromBigInteger)

' Handle conversion that should result in overflow.
Try
   uLongFromBigInteger = CType(badULong, ULong)
   Console.WriteLine(uLongFromBigInteger)
Catch e As OverflowException
   Console.WriteLine("Unable to convert {0}:{1}   {2}", _
                     badULong, vbCrLf, e.Message)
End Try
Console.WriteLine()

注釈

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. 言語コンパイラでは、データが失われる可能性があるため、この変換は自動的には実行されません。Language compilers do not perform this conversion automatically because it can involve data loss. 代わりに、キャスト演算子 (でC#は) または変換関数 (CType や Visual Basic の CULng など) が使用されている場合にのみ変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType or CULng in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

この操作は縮小変換を定義するので、BigInteger 値が UInt64 データ型の範囲外にある場合は、実行時に OverflowException をスローすることができます。Because this operation defines a narrowing conversion, it can throw an OverflowException at run time if the BigInteger value is outside the range of the UInt64 data type. 変換が成功した場合、結果の UInt64 値に精度が失われることはありません。There is no loss of precision in the resulting UInt64 value if the conversion is successful.

Explicit(Single to BigInteger)

Single 値から BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Single value to a BigInteger value.

public:
 static explicit operator System::Numerics::BigInteger(float value);
public static explicit operator System.Numerics.BigInteger (float value);
static member op_Explicit : single -> System.Numerics.BigInteger
Public Shared Narrowing Operator CType (value As Single) As BigInteger

パラメーター

value
Single

BigInteger へと変換する値。The value to convert to a BigInteger.

戻り値

BigInteger

value パラメーターの値を格納しているオブジェクト。An object that contains the value of the value parameter.

例外

次の例では、Single 値の配列内の個々の要素を BigInteger のオブジェクトに変換し、各変換の結果を表示します。The following example converts the individual elements in an array of Single values to BigInteger objects, and then displays the result of each conversion. Single 値の小数部分は、変換中に切り捨てられることに注意してください。Note that any fractional part of a Single value is truncated during the conversion.

float[] singles = { Single.MinValue, -1.430955172e03f, 2.410970032e05f,
                    Single.MaxValue, Single.PositiveInfinity,
                     Single.NegativeInfinity, Single.NaN };
BigInteger number;

Console.WriteLine("{0,37} {1,37}\n", "Single", "BigInteger");

foreach (float value in singles)
{
   try {
      number = (BigInteger) value;
      Console.WriteLine("{0,37} {1,37}", value, number);
   }
   catch (OverflowException) {
      Console.WriteLine("{0,37} {1,37}", value, "OverflowException");
   }
}
// The example displays the following output:
//           Single                            BigInteger
//
//    -3.402823E+38   -3.4028234663852885981170418348E+38
//        -1430.955                                 -1430
//           241097                                241097
//     3.402823E+38    3.4028234663852885981170418348E+38
//         Infinity                     OverflowException
//        -Infinity                     OverflowException
//              NaN                     OverflowException
Dim singles() As Single = { Single.MinValue, -1.430955172e03, 2.410970032e05, 
                            Single.MaxValue, Single.PositiveInfinity, 
                            Single.NegativeInfinity, Single.NaN }
Dim number As BigInteger

Console.WriteLine("{0,37} {1,37}", "Single", "BigInteger")
Console.WriteLine()
For Each value As Single In singles
   Try
      number = CType(value, BigInteger)
      Console.WriteLine("{0,37} {1,37}", value, number)
   Catch e As OverflowException
      Console.WriteLine("{0,37} {1,37}", value, "OverflowException")
   End Try
Next     
' The example displays the following output:
'           Single                            BigInteger
' 
'    -3.402823E+38   -3.4028234663852885981170418348E+38
'        -1430.955                                 -1430
'           241097                                241097
'     3.402823E+38    3.4028234663852885981170418348E+38
'         Infinity                     OverflowException
'        -Infinity                     OverflowException
'              NaN                     OverflowException      

注釈

value パラメーターの小数部分は、変換前に切り捨てられます。Any fractional part of the value parameter is truncated before conversion.

Explicit(Decimal to BigInteger) メソッドのオーバーロードは、BigInteger オブジェクトの変換元となる型またはその元となる型を定義します。The overloads of the Explicit(Decimal to BigInteger) method define the types to which or from which a BigInteger object can be converted. Single から BigInteger への変換では valueの小数部分が切り捨てられることがあるため、言語コンパイラでは、この変換は自動的には実行されません。Because the conversion from Single to BigInteger can involve truncating any fractional part of value, language compilers do not perform this conversion automatically. 代わりに、キャスト演算子 (でC#は) または変換関数 (Visual Basic の CType など) が使用されている場合にのみ、変換を実行します。Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType in Visual Basic) is used. それ以外の場合は、コンパイラエラーが表示されます。Otherwise, they display a compiler error.

カスタム演算子をサポートしていない言語の場合、代替方法は BigInteger.BigInteger(Single)です。For languages that do not support custom operators, the alternative method is BigInteger.BigInteger(Single).

適用対象