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
| Name | Description |
|---|---|
| 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 dönüştürmesini tanımlar. |
| Explicit(Decimal to Complex) |
Bir değerin karmaşık bir Decimal sayıya açık 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
- 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
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
Bir değerin karmaşık bir BigInteger sayıya açık 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 olan karmaşık bir sayı ve sıfıra eşit value bir sanal bileşen.
Ö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ıyorsa gerçekleştirir. Aksi takdirde, bir derleyici hatası görüntüler.
Karmaşık sayının özelliğinin BigInteger türü olan bir Doubledeğerinin değerinden daha az önemli basamak bulunduğundan, değerin karmaşık sayının Real gerçek bölümüne dönüştürülmesi duyarlık kaybına BigIntegerneden olabilir.
Değer türün aralığının Double dışında olduğundan BigInteger 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üksevalue, 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
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
Bir değerin karmaşık bir Decimal sayıya açık 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 olan karmaşık bir sayı ve sıfıra eşit value bir sanal bileşen.
Ö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ıyorsa gerçekleştirir. Aksi takdirde, bir derleyici hatası görüntüler.
Karmaşık sayının özelliğinin Decimal türü olan bir Doubledeğerinin değerinden daha az önemli basamak bulunduğundan, değerin karmaşık sayının Real gerçek bölümüne dönüştürülmesi duyarlık kaybına Decimalneden olabilir.
Şunlara uygulanır
Explicit(Int128 to Complex)
- Kaynak:
- Complex.cs
- Kaynak:
- Complex.cs
- 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.