Complex.Explicit Operator
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan konversi eksplisit antara Complex objek dan jenis lain.
Overload
Explicit(UInt128 to Complex) |
Secara eksplisit mengonversi nilai menjadi UInt128 bilangan kompleks presisi ganda. |
Explicit(BigInteger to Complex) |
Menentukan konversi BigInteger eksplisit nilai ke bilangan kompleks. |
Explicit(Decimal to Complex) |
Menentukan konversi Decimal eksplisit nilai ke bilangan kompleks. |
Explicit(Int128 to Complex) |
Secara eksplisit mengonversi nilai menjadi Int128 bilangan kompleks presisi ganda. |
Explicit(UInt128 to Complex)
- Sumber:
- Complex.cs
- Sumber:
- Complex.cs
- Sumber:
- Complex.cs
Penting
API ini bukan kompatibel CLS.
Secara eksplisit mengonversi nilai menjadi UInt128 bilangan kompleks presisi ganda.
public:
static explicit operator System::Numerics::Complex(UInt128 value);
[System.CLSCompliant(false)]
public static explicit operator System.Numerics.Complex (UInt128 value);
[<System.CLSCompliant(false)>]
static member op_Explicit : UInt128 -> System.Numerics.Complex
Public Shared Narrowing Operator CType (value As UInt128) As Complex
Parameter
- value
- UInt128
Nilai yang akan dikonversi.
Mengembalikan
value
dikonversi menjadi bilangan kompleks presisi ganda.
- Atribut
Berlaku untuk
Explicit(BigInteger to Complex)
- Sumber:
- Complex.cs
- Sumber:
- Complex.cs
- Sumber:
- Complex.cs
Menentukan konversi BigInteger eksplisit nilai ke bilangan kompleks.
public:
static explicit operator System::Numerics::Complex(System::Numerics::BigInteger value);
public static explicit operator System.Numerics.Complex (System.Numerics.BigInteger value);
static member op_Explicit : System.Numerics.BigInteger -> System.Numerics.Complex
Public Shared Narrowing Operator CType (value As BigInteger) As Complex
Parameter
- value
- BigInteger
Nilai yang akan dikonversi menjadi bilangan kompleks.
Mengembalikan
Bilangan kompleks yang memiliki komponen nyata sama dengan value
dan komponen imajiner sama dengan nol.
Contoh
Contoh berikut mengilustrasikan konversi BigInteger eksplisit nilai ke Complex nilai.
BigInteger[] numbers= {
((BigInteger) Double.MaxValue) * 2,
BigInteger.Parse("901345277852317852466891423"),
BigInteger.One };
foreach (BigInteger number in numbers)
{
Complex c1 = (Complex) number;
Console.WriteLine(c1);
}
// The example displays the following output:
// (Infinity, 0)
// (9.01345277852318E+26, 0)
// (1, 0)
let numbers =
[ (bigint Double.MaxValue) * 2I
BigInteger.Parse "901345277852317852466891423"
BigInteger.One ]
for number in numbers do
let c1 = Complex(float number, 0.)
printfn $"{number, 30} --> {c1}"
// The example displays the following output:
// (Infinity, 0)
// (9.01345277852318E+26, 0)
// (1, 0)
Dim numbers() As BigInteger = {
CType(Double.MaxValue, BigInteger) * 2,
BigInteger.Parse("901345277852317852466891423"),
BigInteger.One }
For Each number In numbers
Dim c1 As System.Numerics.Complex = CType(number,
System.Numerics.Complex)
Console.WriteLine(c1)
Next
' The example displays the following output:
' (Infinity, 0)
' (9.01345277852318E+26, 0)
' (1, 0)
Keterangan
Operator konversi eksplisit menentukan jenis yang dapat dikonversi menjadi Complex objek. Pengkompilasi bahasa tidak melakukan konversi ini secara otomatis karena dapat melibatkan kehilangan data. Sebaliknya, mereka melakukan konversi hanya jika operator transmisi (dalam C#) atau fungsi konversi (seperti CType
di Visual Basic) digunakan. Jika tidak, mereka menampilkan kesalahan pengkompilasi.
Konversi BigInteger nilai ke bagian nyata dari bilangan kompleks dapat mengakibatkan hilangnya presisi karena Double, yang merupakan jenis properti bilangan Real kompleks, memiliki lebih sedikit digit signifikan daripada BigInteger.
Jika konversi tidak berhasil karena BigInteger nilainya berada di luar rentang jenisDouble, operasi tidak melempar .OverflowException Sebaliknya, jika value
kurang dari MinValue, hasilnya adalah bilangan kompleks yang memiliki Real nilai properti yang sama dengan NegativeInfinity. Jika value
lebih besar dari MaxValue, hasilnya adalah bilangan kompleks yang memiliki Real nilai properti yang sama dengan PositiveInfinity.
Berlaku untuk
Explicit(Decimal to Complex)
- Sumber:
- Complex.cs
- Sumber:
- Complex.cs
- Sumber:
- Complex.cs
Menentukan konversi Decimal eksplisit nilai ke bilangan kompleks.
public:
static explicit operator System::Numerics::Complex(System::Decimal value);
public static explicit operator System.Numerics.Complex (decimal value);
static member op_Explicit : decimal -> System.Numerics.Complex
Public Shared Narrowing Operator CType (value As Decimal) As Complex
Parameter
- value
- Decimal
Nilai yang akan dikonversi menjadi bilangan kompleks.
Mengembalikan
Bilangan kompleks yang memiliki komponen nyata sama dengan value
dan komponen imajiner sama dengan nol.
Contoh
Contoh berikut mengilustrasikan konversi Decimal eksplisit nilai ke Complex nilai.
decimal[] numbers = { Decimal.MinValue, -18.35m, 0m, 1893.019m,
Decimal.MaxValue };
foreach (decimal number in numbers)
{
System.Numerics.Complex c1 = (System.Numerics.Complex) number;
Console.WriteLine("{0,30} --> {1}", number, c1);
}
// The example displays the following output:
// -79228162514264337593543950335 --> (-7.92281625142643E+28, 0)
// -18.35 --> (-18.35, 0)
// 0 --> (0, 0)
// 1893.019 --> (1893.019, 0)
// 79228162514264337593543950335 --> (7.92281625142643E+28, 0)
let numbers = [ Decimal.MinValue; -18.35m; 0m; 1893.019m; Decimal.MaxValue ]
for number in numbers do
let c1 = Complex(float number, 0.)
printfn $"{number, 30} --> {c1}"
// The example displays the following output:
// -79228162514264337593543950335 --> (-7.92281625142643E+28, 0)
// -18.35 --> (-18.35, 0)
// 0 --> (0, 0)
// 1893.019 --> (1893.019, 0)
// 79228162514264337593543950335 --> (7.92281625142643E+28, 0)
Dim numbers() As Decimal = { Decimal.MinValue, -18.35d, 0d, 1893.019d,
Decimal.MaxValue }
For Each number In numbers
Dim c1 As System.Numerics.Complex = CType(number,
System.Numerics.Complex)
Console.WriteLine("{0,30} --> {1}", number, c1)
Next
' The example displays the following output:
' -79228162514264337593543950335 --> (-7.92281625142643E+28, 0)
' -18.35 --> (-18.3500003814697, 0)
' 0 --> (0, 0)
' 1893.019 --> (1893.01904296875, 0)
' 79228162514264337593543950335 --> (7.92281625142643E+28, 0)
Keterangan
Operator konversi eksplisit menentukan jenis yang dapat dikonversi menjadi Complex objek. Pengkompilasi bahasa tidak melakukan konversi ini secara otomatis karena dapat melibatkan kehilangan data. Sebaliknya, mereka melakukan konversi hanya jika operator transmisi (dalam C#) atau fungsi konversi (seperti CType
di Visual Basic) digunakan. Jika tidak, mereka menampilkan kesalahan pengkompilasi.
Konversi Decimal nilai ke bagian nyata dari bilangan kompleks dapat mengakibatkan hilangnya presisi karena Double, yang merupakan jenis properti bilangan Real kompleks, memiliki lebih sedikit digit signifikan daripada Decimal.
Berlaku untuk
Explicit(Int128 to Complex)
- Sumber:
- Complex.cs
- Sumber:
- Complex.cs
- Sumber:
- Complex.cs
Secara eksplisit mengonversi nilai menjadi Int128 bilangan kompleks presisi ganda.
public:
static explicit operator System::Numerics::Complex(Int128 value);
public static explicit operator System.Numerics.Complex (Int128 value);
static member op_Explicit : Int128 -> System.Numerics.Complex
Public Shared Narrowing Operator CType (value As Int128) As Complex
Parameter
- value
- Int128
Nilai yang akan dikonversi.
Mengembalikan
value
dikonversi menjadi bilangan kompleks presisi ganda.