Complex.Explicit Operatör
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir nesne ile başka bir tür arasında açık bir Complex dönüştürme tanımlar.
Aşırı Yüklemeler
Explicit(UInt128 to Complex) |
Bir değeri açıkça çift duyarlıklı karmaşık bir sayıya dönüştürür UInt128 . |
Explicit(BigInteger to Complex) |
Bir değerin karmaşık bir BigInteger sayıya açık bir dönüştürmesini tanımlar. |
Explicit(Decimal to Complex) |
Bir değerin karmaşık bir Decimal sayıya açık bir dönüştürmesini tanımlar. |
Explicit(Int128 to Complex) |
Bir değeri açıkça çift duyarlıklı karmaşık bir sayıya dönüştürür Int128 . |
Explicit(UInt128 to Complex)
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
Önemli
Bu API, CLS uyumlu değildir.
Bir değeri açıkça çift duyarlıklı karmaşık bir sayıya dönüştürür UInt128 .
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
Parametreler
- value
- UInt128
Dönüştürülecek değer.
Döndürülenler
value
çift duyarlıklı karmaşık sayıya dönüştürülür.
- Öznitelikler
Şunlara uygulanır
Explicit(BigInteger to Complex)
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
Bir değerin karmaşık bir BigInteger sayıya açık bir dönüştürmesini tanımlar.
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
Parametreler
- value
- BigInteger
Karmaşık bir sayıya dönüştürülecek değer.
Döndürülenler
Gerçek bileşene eşit ve sıfıra eşit value
bir sanal bileşene sahip karmaşık bir sayı.
Örnekler
Aşağıdaki örnekte, değerlerin değerlere açıkça dönüştürülmesi BigIntegerComplex gösterilmektedir.
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)
Açıklamalar
Açık dönüştürme işleçleri, nesneye Complex dönüştürülebilecek türleri tanımlar. Veri kaybı içerebileceğinden dil derleyicileri bu dönüştürmeyi otomatik olarak gerçekleştirmez. Bunun yerine, dönüştürmeyi yalnızca bir atama işleci (C#'ta) veya dönüştürme işlevi (Visual Basic'te olduğu gibi CType
) kullanılırsa gerçekleştirir. Aksi takdirde, bir derleyici hatası görüntüler.
Bir değerin BigInteger karmaşık sayının gerçek bölümüne dönüştürülmesi, karmaşık sayının Real özelliğinin türü olan bir Doubledeğerinin değerinden daha az anlamlı basamağı olduğundan duyarlık kaybına BigIntegerneden olabilir.
Değer türün aralığının BigIntegerDouble dışında olduğundan dönüştürme başarısız olursa, işlem bir OverflowExceptionoluşturmaz. Bunun yerine, değerinden küçükse value
sonuç, değerine eşit NegativeInfinitybir özellik değerine sahip karmaşık bir Real sayıdır.MinValue değerinden büyükse value
sonuç, değerine eşit PositiveInfinitybir özellik değerine sahip karmaşık bir Real sayıdır.MaxValue
Şunlara uygulanır
Explicit(Decimal to Complex)
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
Bir değerin karmaşık bir Decimal sayıya açık bir dönüştürmesini tanımlar.
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
Parametreler
- value
- Decimal
Karmaşık bir sayıya dönüştürülecek değer.
Döndürülenler
Gerçek bileşene eşit ve sıfıra eşit value
bir sanal bileşene sahip karmaşık bir sayı.
Örnekler
Aşağıdaki örnekte, değerlerin değerlere açıkça dönüştürülmesi DecimalComplex gösterilmektedir.
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)
Açıklamalar
Açık dönüştürme işleçleri, nesneye Complex dönüştürülebilecek türleri tanımlar. Veri kaybı içerebileceğinden dil derleyicileri bu dönüştürmeyi otomatik olarak gerçekleştirmez. Bunun yerine, dönüştürmeyi yalnızca bir atama işleci (C#'ta) veya dönüştürme işlevi (Visual Basic'te olduğu gibi CType
) kullanılırsa gerçekleştirir. Aksi takdirde, bir derleyici hatası görüntüler.
Bir değerin Decimal karmaşık sayının gerçek bölümüne dönüştürülmesi, karmaşık sayının Real özelliğinin türü olan bir Doubledeğerinin değerinden daha az anlamlı basamağı olduğundan duyarlık kaybına Decimalneden olabilir.
Şunlara uygulanır
Explicit(Int128 to Complex)
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
Bir değeri açıkça çift duyarlıklı karmaşık bir sayıya dönüştürür Int128 .
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
Parametreler
- value
- Int128
Dönüştürülecek değer.
Döndürülenler
value
çift duyarlıklı karmaşık sayıya dönüştürülür.