Complex Struktur

Definition

Stellt eine komplexe Zahl dar.Represents a complex number.

public value class Complex : IEquatable<System::Numerics::Complex>, IFormattable
[System.Serializable]
public struct Complex : IEquatable<System.Numerics.Complex>, IFormattable
type Complex = struct
    interface IFormattable
Public Structure Complex
Implements IEquatable(Of Complex), IFormattable
Vererbung
Complex
Attribute
Implementiert

Hinweise

Eine komplexe Zahl ist eine Zahl, die einen reellen und einen imaginären Zahlen Teil umfasst.A complex number is a number that comprises a real number part and an imaginary number part. Eine komplexe Zahl z wird normalerweise in der Form z = x + Yi geschrieben, wobei x und y reelle Zahlen sind ** und die imaginäre Einheit mit der Eigenschaft i2 =-1 ist.A complex number z is usually written in the form z = x + yi, where x and y are real numbers, and i is the imaginary unit that has the property i2 = -1. Der reelle Teil der komplexen Zahl wird durch xdargestellt, und der Imaginärteil der komplexen Zahl wird durch ydargestellt.The real part of the complex number is represented by x, and the imaginary part of the complex number is represented by y.

Der Complex -Typ verwendet das kartesische Koordinatensystem (Real, imaginär), wenn komplexe Zahlen instanziiert und manipuliert werden.The Complex type uses the Cartesian coordinate system (real, imaginary) when instantiating and manipulating complex numbers. Eine komplexe Zahl kann als Punkt in einem zweidimensionalen Koordinatensystem dargestellt werden, das als komplexe Ebene bezeichnet wird.A complex number can be represented as a point in a two-dimensional coordinate system, which is known as the complex plane. Der reelle Teil der komplexen Zahl wird auf der x-Achse (der horizontalen Achse) positioniert, und der Imaginärteil wird auf der y-Achse (der vertikalen Achse) positioniert.The real part of the complex number is positioned on the x-axis (the horizontal axis), and the imaginary part is positioned on the y-axis (the vertical axis).

Jeder Punkt in der komplexen Ebene kann auch basierend auf seinem absoluten Wert mithilfe des Polarkoordinaten Systems ausgedrückt werden.Any point in the complex plane can also be expressed based on its absolute value, by using the polar coordinate system. In Polarkoordinaten ist ein Punkt durch zwei Zahlen gekennzeichnet:In polar coordinates, a point is characterized by two numbers:

  • Die Größe, die die Entfernung des Punkts vom Ursprung (d. h. 0, 0 oder der Punkt ist, an dem sich die x-Achse und die y-Achse überschneiden).Its magnitude, which is the distance of the point from the origin (that is, 0,0, or the point at which the x-axis and the y-axis intersect).

  • Die Phase, bei der es sich um den Winkel zwischen der reellen Achse und der Linie handelt, die vom Ursprung bis zum Punkt gezeichnet wird.Its phase, which is the angle between the real axis and the line drawn from the origin to the point.

Instanziieren einer komplexen ZahlInstantiating a Complex Number

Sie können einer komplexen Zahl einen Wert auf eine der folgenden Weisen zuweisen:You can assign a value to a complex number in one of the following ways:

  • Durch Übergeben von Double zwei Werten an den Konstruktor.By passing two Double values to its constructor. Der erste Wert stellt den reellen Teil der komplexen Zahl dar, und der zweite Wert stellt den imaginären Teil dar.The first value represents the real part of the complex number, and the second value represents its imaginary part. Diese Werte stellen die Position der komplexen Zahl im zweidimensionalen kartesischen Koordinatensystem dar.These values represent the position of the complex number in the two-dimensional Cartesian coordinate system.

  • Durch Aufrufen der statischen (Shared in Visual Basic) Complex.FromPolarCoordinates -Methode, um eine komplexe Zahl aus den Polarkoordinaten zu erstellen.By calling the static (Shared in Visual Basic) Complex.FromPolarCoordinates method to create a complex number from its polar coordinates.

  • Durch Zuweisen eines Byte- SByte Int16, UInt16 Double Complex -, -,-,-,-,-oder-Wertszueinem-Objekt.Int32 UInt32 Int64 UInt64 SingleBy assigning a Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, or Double value to a Complex object. Der Wert wird der reelle Teil der komplexen Zahl, und sein imaginärer Teil ist 0.The value becomes the real part of the complex number, and its imaginary part equals 0.

  • Durch umwandeln (in C#) oder konvertieren (in Visual Basic) eines Decimal - BigInteger Werts oder eines Complex -Werts in ein-Objekt.By casting (in C#) or converting (in Visual Basic) a Decimal or BigInteger value to a Complex object. Der Wert wird der reelle Teil der komplexen Zahl, und sein imaginärer Teil ist 0.The value becomes the real part of the complex number, and its imaginary part equals 0.

  • Durch Zuweisen der komplexen Zahl, die von einer Methode oder einem Operator zurückgegeben Complex wird, zu einem-Objekt.By assigning the complex number that is returned by a method or operator to a Complex object. Beispielsweise Complex.Add ist eine statische Methode, die eine komplexe Zahl zurückgibt, die die Summe aus zwei komplexen Zahlen ist, Complex.Addition und der-Operator Fügt zwei komplexe Zahlen hinzu und gibt das Ergebnis zurück.For example, Complex.Add is a static method that returns a complex number that is the sum of two complex numbers, and the Complex.Addition operator adds two complex numbers and returns the result.

Im folgenden Beispiel wird jede dieser fünf Möglichkeiten zum Zuweisen eines Werts zu einer komplexen Zahl veranschaulicht.The following example demonstrates each of these five ways of assigning a value to a complex number.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      // Create a complex number by calling its class constructor.
      Complex c1 = new Complex(12, 6);
      Console.WriteLine(c1);
      
      // Assign a Double to a complex number.
      Complex c2 = 3.14;
      Console.WriteLine(c2);
      
      // Cast a Decimal to a complex number.
      Complex c3 = (Complex) 12.3m;
      Console.WriteLine(c3);
      
      // Assign the return value of a method to a Complex variable.
      Complex c4 = Complex.Pow(Complex.One, -1);
      Console.WriteLine(c4);
      
      // Assign the value returned by an operator to a Complex variable.
      Complex c5 = Complex.One + Complex.One;
      Console.WriteLine(c5);

      // Instantiate a complex number from its polar coordinates.
      Complex c6 = Complex.FromPolarCoordinates(10, .524);
      Console.WriteLine(c6);
   }
}
// The example displays the following output:
//       (12, 6)
//       (3.14, 0)
//       (12.3, 0)
//       (1, 0)
//       (2, 0)
//       (8.65824721882145, 5.00347430269914)
Imports System.Numerics

Module Example
   Public Sub Main()
      ' Create a complex number by calling its class constructor.
      Dim c1 As New Complex(12, 6)
      Console.WriteLine(c1)
      
      ' Assign a Double to a complex number.
      Dim c2 As Complex = 3.14
      Console.WriteLine(c2)
      
      ' Cast a Decimal to a complex number.
      Dim c3 As Complex = CType(12.3d, Complex)
      Console.WriteLine(c3)
      
      ' Assign the return value of a method to a Complex variable.
      Dim c4 As Complex = Complex.Pow(Complex.One, -1)
      Console.WriteLine(c4)
      
      ' Assign the value returned by an operator to a Complex variable.
      Dim c5 As Complex = Complex.One + Complex.One
      Console.WriteLine(c5)

      ' Instantiate a complex number from its polar coordinates.
      Dim c6 As Complex = Complex.FromPolarCoordinates(10, .524)
      Console.WriteLine(c6)
   End Sub
End Module
' The example displays the following output:
'       (12, 6)
'       (3.14, 0)
'       (12.3000001907349, 0)
'       (1, 0)
'       (2, 0)
'       (8.65824721882145, 5.00347430269914)

Vorgänge mit komplexen ZahlenOperations with Complex Numbers

Die Complex Struktur in der .NET Framework enthält Elemente, die die folgende Funktionalität bereitstellen:The Complex structure in the .NET Framework includes members that provide the following functionality:

  • Methoden zum Vergleichen von zwei komplexen Zahlen, um zu bestimmen, ob Sie gleich sind.Methods to compare two complex numbers to determine whether they are equal.

  • Operatoren zum Ausführen von arithmetischen Operationen für komplexe Zahlen.Operators to perform arithmetic operations on complex numbers. ComplexOperatoren ermöglichen es Ihnen, Addition, Subtraktion, Multiplikation, Division und unäre Negation mit komplexen Zahlen auszuführen.Complex operators enable you to perform addition, subtraction, multiplication, division, and unary negation with complex numbers.

  • Methoden zum Ausführen von anderen numerischen Operationen für komplexe Zahlen.Methods to perform other numerical operations on complex numbers. Zusätzlich zu den vier grundlegenden arithmetischen Vorgängen können Sie eine komplexe Zahl zu einer angegebenen Potenz machen, die Quadratwurzel einer komplexen Zahl Suchen und den absoluten Wert einer komplexen Zahl abrufen.In addition to the four basic arithmetic operations, you can raise a complex number to a specified power, find the square root of a complex number, and get the absolute value of a complex number.

  • Methoden zum Ausführen von serigonometrischen Vorgängen für komplexe Zahlen.Methods to perform trigonometric operations on complex numbers. Beispielsweise können Sie den Tangens eines Winkels berechnen, der durch eine komplexe Zahl dargestellt wird.For example, you can calculate the tangent of an angle represented by a complex number.

Beachten Sie, dass Sie Real den Imaginary Wert eines vorhandenen Complex Objekts nicht ändern können, da die-Eigenschaft und die-Eigenschaft schreibgeschützt sind.Note that, because the Real and Imaginary properties are read-only, you cannot modify the value of an existing Complex object. Alle Methoden, die einen Vorgang für eine Complex Zahl ausführen, wenn der Rückgabewert vom Typ Complexist, geben eine Complex neue Zahl zurück.All methods that perform an operation on a Complex number, if their return value is of type Complex, return a new Complex number.

Genauigkeit und komplexe ZahlenPrecision and Complex Numbers

Die Real-und Imaginärteile einer komplexen Zahl werden durch zwei Gleit Komma Werte mit doppelter Genauigkeit dargestellt.The real and imaginary parts of a complex number are represented by two double-precision floating-point values. Dies bedeutet, Complex dass Werte, wie z. b. Gleit Komma Werte mit doppelter Genauigkeit, aufgrund von numerischen Vorgängen die Genauigkeit verlieren können.This means that Complex values, like double-precision floating-point values, can lose precision as a result of numerical operations. Dies bedeutet, dass strikte Vergleiche für Gleichheit von Complex zwei Werten möglicherweise fehlschlagen, auch wenn der Unterschied zwischen den beiden Werten auf einen Genauigkeits Verlust zurückzuführen ist.This means that strict comparisons for equality of two Complex values may fail, even if the difference between the two values is due to a loss of precision. Weitere Informationen finden Sie unter Double.For more information, see Double.

Wenn Sie z. b. eine exponentiierung des Logarithmus einer Zahl durchführen, sollte die ursprüngliche Zahl zurückgegeben werden.For example, performing exponentiation on the logarithm of a number should return the original number. In einigen Fällen kann der Verlust der Genauigkeit von Gleit Komma Werten geringfügige Unterschiede zwischen den beiden Werten verursachen, wie im folgenden Beispiel veranschaulicht.However, in some cases, the loss of precision of floating-point values can cause slight differences between the two values, as the following example illustrates.

Complex value = new Complex(Double.MinValue/2, Double.MinValue/2);
Complex value2 = Complex.Exp(Complex.Log(value));
Console.WriteLine("{0} \n{1} \nEqual: {2}", value, value2, 
                                            value == value2);
// The example displays the following output:
//    (-8.98846567431158E+307, -8.98846567431158E+307)
//    (-8.98846567431161E+307, -8.98846567431161E+307)
//    Equal: False
Dim value As New Complex(Double.MinValue/2, Double.MinValue/2)
Dim value2 As Complex = Complex.Exp(Complex.Log(value))
Console.WriteLine("{0} {3}{1} {3}Equal: {2}", value, value2, 
                                              value = value2,
                                              vbCrLf)
' The example displays the following output:
'    (-8.98846567431158E+307, -8.98846567431158E+307)
'    (-8.98846567431161E+307, -8.98846567431161E+307)
'    Equal: False

Entsprechend erzeugt das folgende Beispiel, das die Quadratwurzel einer Complex Zahl berechnet, etwas andere Ergebnisse für die 32-Bit-und ia64-Versionen der .NET Framework.Similarly, the following example, which calculates the square root of a Complex number, produces slightly different results on the 32-bit and IA64 versions of the .NET Framework.

Complex minusOne = new Complex(-1, 0);
Console.WriteLine(Complex.Sqrt(minusOne));
// The example displays the following output:
//    (6.12303176911189E-17, 1) on 32-bit systems.
//    (6.12323399573677E-17,1) on IA64 systems.
Dim minusOne As New Complex(-1, 0)
Console.WriteLine(Complex.Sqrt(minusOne))
' The example displays the following output:
'    (6.12303176911189E-17, 1) on 32-bit systems.
'    (6.12323399573677E-17,1) on IA64 systems.

Komplexe Zahlen, unendlich und NanComplex Numbers, Infinity, and NaN

Die reellen und imaginären Teile einer komplexen Zahl werden durch Double -Werte dargestellt.The real and imaginary parts of a complex number are represented by Double values. Neben dem Bereich von Double.MinValue bis Double.MaxValue Double.PositiveInfinitykann der echte oder Imaginärteil einer komplexen Zahl den Wert, Double.NegativeInfinityoder Double.NaNhaben.In addition to ranging from Double.MinValue to Double.MaxValue, the real or imaginary part of a complex number can have a value of Double.PositiveInfinity, Double.NegativeInfinity, or Double.NaN. Double.PositiveInfinity, Double.NegativeInfinity undDouble.NaN werden in jedem arithmetischen oder einem drei-ometrischen Vorgang weitergegeben.Double.PositiveInfinity, Double.NegativeInfinity, and Double.NaN all propagate in any arithmetic or trigonometric operation.

Im folgenden Beispiel erzeugt Division by Zero eine komplexe Zahl, deren reelle und imaginäre Teile beide Double.NaNsind.In the following example, division by Zero produces a complex number whose real and imaginary parts are both Double.NaN. Folglich erzeugt die Durchführung der Multiplikation mit diesem Wert auch eine komplexe Zahl, deren reelle und Double.NaNimaginäre Teile sind.As a result, performing multiplication with this value also produces a complex number whose real and imaginary parts are Double.NaN. Entsprechend erzeugt eine Multiplikation, bei der der Bereich des Double Typs überläuft, eine komplexe Zahl, deren Realteil ist Double.NaN und dessen imaginärer Teil ist Double.PositiveInfinity.Similarly, performing a multiplication that overflows the range of the Double type produces a complex number whose real part is Double.NaN and whose imaginary part is Double.PositiveInfinity. Anschließend wird Double.NaN eine komplexe Zahl zurückgegeben, deren reeller Teil ist und dessen imaginärer Teil ist Double.PositiveInfinity.Subsequently performing division with this complex number returns a complex number whose real part is Double.NaN and whose imaginary part is Double.PositiveInfinity.

using System;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      Complex c1 = new Complex(Double.MaxValue / 2, Double.MaxValue /2);

      Complex c2 = c1 / Complex.Zero;
      Console.WriteLine(c2.ToString());
      c2 = c2 * new Complex(1.5, 1.5);
      Console.WriteLine(c2.ToString());
      Console.WriteLine();
      
      Complex c3 = c1 * new Complex(2.5, 3.5);
      Console.WriteLine(c3.ToString());
      c3 = c3 + new Complex(Double.MinValue / 2, Double.MaxValue / 2); 
      Console.WriteLine(c3);
   }
}
// The example displays the following output:
//       (NaN, NaN)
//       (NaN, NaN)
//       (NaN, Infinity)
//       (NaN, Infinity)
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim c1 As Complex = New Complex(Double.MaxValue / 2, Double.MaxValue /2)

      Dim c2 As Complex = c1 / Complex.Zero
      Console.WriteLine(c2.ToString())
      c2 = c2 * New Complex(1.5, 1.5)
      Console.WriteLine(c2.ToString())
      Console.WriteLine()
      
      Dim c3 As Complex = c1 * New Complex(2.5, 3.5)
      Console.WriteLine(c3.ToString())
      c3 = c3 + New Complex(Double.MinValue / 2, Double.MaxValue / 2) 
      Console.WriteLine(c3)     
   End Sub
End Module
' The example displays the following output:
'       (NaN, NaN)
'       (NaN, NaN)
'
'       (NaN, Infinity)
'       (NaN, Infinity)

Mathematische Operationen mit komplexen Zahlen, die ungültig sind oder einen Überlauf des Bereichs des Double Datentyps verursachen, lösen keine Ausnahme aus.Mathematical operations with complex numbers that are invalid or that overflow the range of the Double data type do not throw an exception. Stattdessen wird, oder Double.PositiveInfinity Double.NaN unter den Double.NegativeInfinityfolgenden Bedingungen zurückgegeben:Instead, they return a Double.PositiveInfinity, Double.NegativeInfinity, or Double.NaN under the following conditions:

Beachten Sie, dass dies für alle Zwischenberechnungen gilt, die von einer Methode ausgeführt werden.Note that this applies to any intermediate calculations performed by a method. Beispielsweise verwendet die Multiplikation new Complex(9e308, 9e308) and new Complex(2.5, 3.5) von die Formel (AC-BD) + (AD + BC) i.For example, the multiplication of new Complex(9e308, 9e308) and new Complex(2.5, 3.5) uses the formula (ac - bd) + (ad + bc)i. Die Berechnung der realen Komponente, die sich aus der Multiplikation ergibt, wertet den Ausdruck 9e308 * 2,5-9e308 * 3,5 aus.The calculation of the real component that results from the multiplication evaluates the expression 9e308 * 2.5 - 9e308 * 3.5. Jede zwischen Multiplikation in diesem Ausdruck Double.PositiveInfinitygibt zurück, und der Versuch, Double.PositiveInfinity von Double.PositiveInfinity der Double.NaNRückgabe zu subtrahieren.Each intermediate multiplication in this expression returns Double.PositiveInfinity, and the attempt to subtract Double.PositiveInfinity from Double.PositiveInfinity returns Double.NaN.

Formatieren einer komplexen ZahlFormatting a Complex Number

Standardmäßig ist die Zeichen folgen Darstellung einer komplexen Zahl (das Format real , imaginär), wobei Real und imaginär die Zeichen folgen Darstellungen des Double Werte, die die reellen und imaginären Komponenten der komplexen Zahl bilden.By default, the string representation of a complex number takes the form (real, imaginary), where real and imaginary are the string representations of the Double values that form the complex number's real and imaginary components. Einige über Ladungen der ToString -Methode ermöglichen die Anpassung der Zeichen folgen Darstellungen dieser Double Werte, um die Formatierungs Konventionen einer bestimmten Kultur widerzuspiegeln oder in einem bestimmten Format zu erscheinen, das von einem standardmäßigen oder benutzerdefinierten numerischen Element definiert wird. Format Zeichenfolge.Some overloads of the ToString method allow customization of the string representations of these Double values to reflect the formatting conventions of a particular culture or to appear in a particular format defined by a standard or custom numeric format string. (Weitere Informationen finden Sie unter Standard mäßige Zahlenformat Zeichenfolgen und benutzerdefinierte ZahlenformatZeichenfolgen.)(For more information, see Standard Numeric Format Strings and Custom Numeric Format Strings.)

Eine der gängigeren Methoden zum Ausdrücken der Zeichen folgen Darstellung einer komplexen Zahl hat die Form a + BI, wobei a die echte Komponente der komplexen Zahl und b die imaginäre Komponente der komplexen Zahl ist.One of the more common ways of expressing the string representation of a complex number takes the form a + bi, where a is the complex number's real component, and b is the complex number's imaginary component. Beim elektroengineering wird eine komplexe Zahl am häufigsten als + Bj ausgedrückt.In electrical engineering, a complex number is most commonly expressed as a + bj. Sie können die Zeichen folgen Darstellung einer komplexen Zahl in einer dieser beiden Formen zurückgeben.You can return the string representation of a complex number in either of these two forms. Definieren Sie zu diesem Zweck einen benutzerdefinierten Format Anbieter, indem ICustomFormatter Sie IFormatProvider die-und-Schnittstellen String.Format(IFormatProvider, String, Object[]) implementieren und dann die-Methode aufzurufen.To do this, define a custom format provider by implementing the ICustomFormatter and IFormatProvider interfaces, and then call the String.Format(IFormatProvider, String, Object[]) method.

Im folgenden Beispiel wird eine ComplexFormatter Klasse definiert, die eine komplexe Zahl als Zeichenfolge in Form von a + bi oder a + Bj darstellt.The following example defines a ComplexFormatter class that represents a complex number as a string in the form of either a + bi or a + bj.

using System;
using System.Numerics;

public class ComplexFormatter :IFormatProvider, ICustomFormatter
{
   public object GetFormat(Type formatType) 
   {   
      if (formatType == typeof(ICustomFormatter))
         return this;
      else
         return null;
   }
   
   public string Format(string format, object arg, 
                        IFormatProvider provider)
   {
      if (arg is Complex)
      {
         Complex c1 = (Complex) arg; 
         // Check if the format string has a precision specifier.
         int precision;
         string fmtString = String.Empty;
         if (format.Length > 1) {
            try {
               precision = Int32.Parse(format.Substring(1));
            }
            catch (FormatException) {
               precision = 0;
            }
            fmtString = "N" + precision.ToString();
         }
         if (format.Substring(0, 1).Equals("I", StringComparison.OrdinalIgnoreCase))
            return c1.Real.ToString(fmtString) + " + " + c1.Imaginary.ToString(fmtString) + "i";
         else if (format.Substring(0, 1).Equals("J", StringComparison.OrdinalIgnoreCase))
            return c1.Real.ToString(fmtString) + " + " + c1.Imaginary.ToString(fmtString) + "j";
         else
            return c1.ToString(format, provider);
      }
      else
      {
         if (arg is IFormattable)
            return ((IFormattable) arg).ToString(format, provider);
         else if (arg != null) 
            return arg.ToString();
         else
            return String.Empty;
      }                        
   }
}
Imports System.Numerics

Public Class ComplexFormatter 
             Implements IFormatProvider, ICustomFormatter
   
   Public Function GetFormat(formatType As Type) As Object _
                   Implements IFormatProvider.GetFormat
      If formatType Is GetType(ICustomFormatter) Then
         Return Me
      Else
         Return Nothing
      End If
   End Function
   
   Public Function Format(fmt As String, arg As Object, 
                          provider As IFormatProvider) As String _
                   Implements ICustomFormatter.Format
      If TypeOf arg Is Complex Then
         Dim c1 As Complex = DirectCast(arg, Complex)
         ' Check if the format string has a precision specifier.
         Dim precision As Integer
         Dim fmtString As String = String.Empty
         If fmt.Length > 1 Then
            Try
               precision = Int32.Parse(fmt.Substring(1))
            Catch e As FormatException
               precision = 0
            End Try
            fmtString = "N" + precision.ToString()
         End If
         If fmt.Substring(0, 1).Equals("I", StringComparison.OrdinalIgnoreCase) Then
            Return c1.Real.ToString(fmtString) + " + " + c1.Imaginary.ToString(fmtString) + "i"
         ElseIf fmt.Substring(0, 1).Equals("J", StringComparison.OrdinalIgnoreCase) Then
            Return c1.Real.ToString(fmtString) + " + " + c1.Imaginary.ToString(fmtString) + "j"
         Else
            Return c1.ToString(fmt, provider)
         End If
      Else
         If Typeof arg Is IFormattable Then
            Return DirectCast(arg, IFormattable).ToString(fmt, provider)
         ElseIf arg IsNot Nothing Then
            Return arg.ToString()
         Else
            Return String.Empty
         End If   
      End If                        
   End Function
End Class

Im folgenden Beispiel wird dann dieser benutzerdefinierte Formatierer verwendet, um die Zeichen folgen Darstellung einer komplexen Zahl anzuzeigen.The following example then uses this custom formatter to display the string representation of a complex number.

public class Example
{
   public static void Main()
   {
      Complex c1 = new Complex(12.1, 15.4);
      Console.WriteLine("Formatting with ToString():       " + 
                        c1.ToString());
      Console.WriteLine("Formatting with ToString(format): " + 
                        c1.ToString("N2"));
      Console.WriteLine("Custom formatting with I0:        " + 
                        String.Format(new ComplexFormatter(), "{0:I0}", c1));
      Console.WriteLine("Custom formatting with J3:        " + 
                        String.Format(new ComplexFormatter(), "{0:J3}", c1));
   }
}
// The example displays the following output:
//    Formatting with ToString():       (12.1, 15.4)
//    Formatting with ToString(format): (12.10, 15.40)
//    Custom formatting with I0:        12 + 15i
//    Custom formatting with J3:        12.100 + 15.400j
Module Example
   Public Sub Main()
      Dim c1 As Complex = New Complex(12.1, 15.4)
      Console.WriteLine("Formatting with ToString():       " + 
                        c1.ToString())
      Console.WriteLine("Formatting with ToString(format): " + 
                        c1.ToString("N2"))
      Console.WriteLine("Custom formatting with I0:        " + 
                        String.Format(New ComplexFormatter(), "{0:I0}", c1))
      Console.WriteLine("Custom formatting with J3:        " + 
                        String.Format(New ComplexFormatter(), "{0:J3}", c1))
   End Sub
End Module
' The example displays the following output:
'    Formatting with ToString():       (12.1, 15.4)
'    Formatting with ToString(format): (12.10, 15.40)
'    Custom formatting with I0:        12 + 15i
'    Custom formatting with J3:        12.100 + 15.400j

Konstruktoren

Complex(Double, Double)

Initialisiert eine neue Instanz der Complex-Struktur mit den angegebenen reellen und imaginären Werten.Initializes a new instance of the Complex structure using the specified real and imaginary values.

Felder

ImaginaryOne

Gibt eine neue Complex-Instanz mit einer reellen Zahl gleich 0 und einer imaginären Zahl gleich 1 zurück.Returns a new Complex instance with a real number equal to zero and an imaginary number equal to one.

Infinity

Stellt Unendlichkeit als komplexe Zahl dar.Represents infinity as a complex number.

NaN

Stellt eine komplexe Instanz dar, die keine Zahl ist (NaN).Represents a complex instance that is not a number (NaN).

One

Gibt eine neue Complex-Instanz mit einer reellen Zahl gleich 1 und einer imaginären Zahl gleich 0 zurück.Returns a new Complex instance with a real number equal to one and an imaginary number equal to zero.

Zero

Gibt eine neue Complex-Instanz mit einer reellen Zahl gleich 0 und einer imaginären Zahl gleich 0 zurück.Returns a new Complex instance with a real number equal to zero and an imaginary number equal to zero.

Eigenschaften

Imaginary

Ruft die imaginäre Komponente des aktuellen Complex-Objekts ab.Gets the imaginary component of the current Complex object.

Magnitude

Ruft die Größenordnung (oder den absoluten Wert) einer komplexen Zahl ab.Gets the magnitude (or absolute value) of a complex number.

Phase

Ruft die Phase einer komplexen Zahl ab.Gets the phase of a complex number.

Real

Ruft die reelle Komponente des aktuellen Complex-Objekts ab.Gets the real component of the current Complex object.

Methoden

Abs(Complex)

Ruft den absoluten Wert (oder die Größenordnung) einer komplexen Zahl ab.Gets the absolute value (or magnitude) of a complex number.

Acos(Complex)

Gibt den Winkel zurück, der der Arkuskosinus der angegebenen komplexen Zahl ist.Returns the angle that is the arc cosine of the specified complex number.

Add(Complex, Complex)

Addiert zwei komplexe Zahlen und gibt das Ergebnis zurück.Adds two complex numbers and returns the result.

Add(Complex, Double)

Fügt einer reellen Zahl mit doppelter Genauigkeit eine komplexe Zahl hinzu und gibt das Ergebnis zurück.Adds a complex number to a double-precision real number and returns the result.

Add(Double, Complex)

Fügt einer komplexen Zahl eine reelle Zahl mit doppelter Genauigkeit hinzu und gibt das Ergebnis zurück.Adds a double-precision real number to a complex number and returns the result.

Asin(Complex)

Gibt den Winkel zurück, der der Arkussinus der angegebenen komplexen Zahl ist.Returns the angle that is the arc sine of the specified complex number.

Atan(Complex)

Gibt den Winkel zurück, der der Arkustangens der angegebenen komplexen Zahl ist.Returns the angle that is the arc tangent of the specified complex number.

Conjugate(Complex)

Berechnet die konjugierte Zahl einer komplexen Zahl und gibt das Ergebnis zurück.Computes the conjugate of a complex number and returns the result.

Cos(Complex)

Gibt den Kosinus der angegebenen komplexen Zahl zurück.Returns the cosine of the specified complex number.

Cosh(Complex)

Gibt den Hyperbelkosinus der angegebenen komplexen Zahl zurück.Returns the hyperbolic cosine of the specified complex number.

Divide(Complex, Complex)

Dividiert eine komplexe Zahl durch eine andere komplexe Zahl und gibt das Ergebnis zurück.Divides one complex number by another and returns the result.

Divide(Complex, Double)

Dividiert eine komplexe Zahl durch eine reelle Zahl mit doppelter Genauigkeit und gibt das Ergebnis zurück.Divides one complex number by a double-precision real number and returns the result.

Divide(Double, Complex)

Dividiert eine reelle Zahl mit doppelter Genauigkeit durch eine komplexe Zahl und gibt das Ergebnis zurück.Divides one double-precision real number by a complex number and returns the result.

Equals(Complex)

Gibt einen Wert zurück, der angibt, ob die aktuelle Instanz und eine angegebene komplexe Zahl den gleichen Wert haben.Returns a value that indicates whether the current instance and a specified complex number have the same value.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob die aktuelle Instanz und ein angegebenes Objekt über den gleichen Wert verfügen.Returns a value that indicates whether the current instance and a specified object have the same value.

Exp(Complex)

Gibt e potenziert mit einer angegebenen komplexen Zahl zurück.Returns e raised to the power specified by a complex number.

FromPolarCoordinates(Double, Double)

Erstellt eine komplexe Zahl aus den Polarkoordinaten eines Punkts.Creates a complex number from a point's polar coordinates.

GetHashCode()

Gibt den Hashcode für das aktuelle Complex-Objekt zurück.Returns the hash code for the current Complex object.

IsFinite(Complex)

Bestimmt, ob die angegebene komplexe Zahl endlich ist.Determines whether the specified complex number is finite.

IsInfinity(Complex)

Gibt einen Wert zurück, der angibt, ob die angegebene komplexe Zahl als unendlich ausgewertet wird.Returns a value indicating whether the specified complex number evaluates to infinity.

IsNaN(Complex)

Gibt einen Wert zurück, der angibt, ob die angegebene komplexe Instanz keine Zahl ist (NaN).Returns a value that indicates whether the specified complex instance is not a number (NaN).

Log(Complex)

Gibt den natürlichen Logarithmus (zur Basis e) einer komplexen Zahl zurück.Returns the natural (base e) logarithm of a specified complex number.

Log(Complex, Double)

Gibt den Logarithmus einer angegebenen komplexen Zahl zu einer angegebenen Basis zurück.Returns the logarithm of a specified complex number in a specified base.

Log10(Complex)

Gibt den Logarithmus einer angegebenen komplexen Zahl zur Basis 10 zurück.Returns the base-10 logarithm of a specified complex number.

Multiply(Complex, Complex)

Gibt das Produkt zweier komplexer Zahlen zurück.Returns the product of two complex numbers.

Multiply(Complex, Double)

Gibt das Produkt einer komplexen Zahl und einer reellen Zahl mit doppelter Genauigkeit zurück.Returns the product of a complex number and a double-precision real number.

Multiply(Double, Complex)

Gibt das Produkt einer reellen Zahl mit doppelter Genauigkeit und einer komplexen Zahl zurück.Returns the product of a double-precision real number and a complex number.

Negate(Complex)

Gibt die additive Inverse einer angegebenen komplexen Zahl zurück.Returns the additive inverse of a specified complex number.

Pow(Complex, Complex)

Gibt eine komplexe Zahl potenziert mit einem durch eine komplexe Zahl angegebenen Exponenten zurück.Returns a specified complex number raised to a power specified by a complex number.

Pow(Complex, Double)

Gibt eine angegebene komplexe Zahl potenziert mit einem als Gleitkommazahl mit doppelter Genauigkeit angegebenen Exponenten zurück.Returns a specified complex number raised to a power specified by a double-precision floating-point number.

Reciprocal(Complex)

Gibt den Kehrwert einer komplexen Zahl zurück.Returns the multiplicative inverse of a complex number.

Sin(Complex)

Gibt den Sinus der angegebenen komplexen Zahl zurück.Returns the sine of the specified complex number.

Sinh(Complex)

Gibt den Hyperbelsinus der angegebenen komplexen Zahl zurück.Returns the hyperbolic sine of the specified complex number.

Sqrt(Complex)

Gibt die Quadratwurzel einer angegebenen komplexen Zahl zurück.Returns the square root of a specified complex number.

Subtract(Complex, Complex)

Subtrahiert eine komplexe Zahl von einer anderen komplexen Zahl und gibt das Ergebnis zurück.Subtracts one complex number from another and returns the result.

Subtract(Complex, Double)

Subtrahiert eine reelle Zahl mit doppelter Genauigkeit von einer komplexen Zahl und gibt das Ergebnis zurück.Subtracts one double-precision real number from a complex number and returns the result.

Subtract(Double, Complex)

Subtrahiert eine komplexe Zahl von einer reellen Zahl mit doppelter Genauigkeit und gibt das Ergebnis zurück.Subtracts one complex number from a double-precision real number and returns the result.

Tan(Complex)

Gibt den Tangens der angegebenen komplexen Zahl zurück.Returns the tangent of the specified complex number.

Tanh(Complex)

Gibt den Hyperbeltangens der angegebenen komplexen Zahl zurück.Returns the hyperbolic tangent of the specified complex number.

ToString()

Konvertiert den Wert der aktuellen komplexen Zahl in die entsprechende Zeichenfolgendarstellung in kartesischer Form.Converts the value of the current complex number to its equivalent string representation in Cartesian form.

ToString(IFormatProvider)

Konvertiert den Wert der aktuellen komplexen Zahl unter Verwendung der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung in kartesischer Form.Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified culture-specific formatting information.

ToString(String)

Konvertiert den Wert der aktuellen komplexen Zahl unter Verwendung des angegebenen Formats für die reellen und imaginären Teile in die entsprechende Zeichenfolgendarstellung in kartesischer Form.Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified format for its real and imaginary parts.

ToString(String, IFormatProvider)

Konvertiert den Wert der aktuellen komplexen Zahl unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen für die reellen und imaginären Teile in die entsprechende Zeichenfolgendarstellung in kartesischer Form.Converts the value of the current complex number to its equivalent string representation in Cartesian form by using the specified format and culture-specific format information for its real and imaginary parts.

Operatoren

Addition(Complex, Complex)

Addiert zwei komplexe Zahlen.Adds two complex numbers.

Addition(Complex, Double)

Fügt einer reellen Zahl mit doppelter Genauigkeit eine komplexe Zahl hinzu.Adds a complex number to a double-precision real number.

Addition(Double, Complex)

Fügt einer komplexen Zahl eine reelle Zahl mit doppelter Genauigkeit hinzu.Adds a double-precision real number to a complex number.

Division(Complex, Complex)

Dividiert eine angegebene komplexe Zahl durch eine andere angegebene komplexe Zahl.Divides a specified complex number by another specified complex number.

Division(Complex, Double)

Dividiert eine angegebene komplexe Zahl durch eine reelle Zahl mit doppelter Genauigkeit.Divides a specified complex number by a specified double-precision real number.

Division(Double, Complex)

Dividiert eine angegebene reelle Zahl mit doppelter Genauigkeit durch eine angegebene komplexe Zahl.Divides a specified double-precision real number by a specified complex number.

Equality(Complex, Complex)

Gibt einen Wert zurück, der angibt, ob zwei komplexe Zahlen gleich sind.Returns a value that indicates whether two complex numbers are equal.

Explicit(BigInteger to Complex)

Definiert eine explizite Konvertierung eines BigInteger-Werts in eine komplexe Zahl.Defines an explicit conversion of a BigInteger value to a complex number.

Explicit(Decimal to Complex)

Definiert eine explizite Konvertierung eines Decimal-Werts in eine komplexe Zahl.Defines an explicit conversion of a Decimal value to a complex number.

Implicit(Byte to Complex)

Definiert eine implizite Konvertierung eines Bytewerts ohne Vorzeichen in eine komplexe Zahl.Defines an implicit conversion of an unsigned byte to a complex number.

Implicit(Double to Complex)

Definiert eine implizite Konvertierung einer Gleitkommazahl mit doppelter Genauigkeit in eine komplexe Zahl.Defines an implicit conversion of a double-precision floating-point number to a complex number.

Implicit(Int16 to Complex)

Definiert eine implizite Konvertierung einer 16-Bit-Ganzzahl mit Vorzeichen in eine komplexe Zahl.Defines an implicit conversion of a 16-bit signed integer to a complex number.

Implicit(Int32 to Complex)

Definiert eine implizite Konvertierung einer 32-Bit-Ganzzahl mit Vorzeichen in eine komplexe Zahl.Defines an implicit conversion of a 32-bit signed integer to a complex number.

Implicit(Int64 to Complex)

Definiert eine implizite Konvertierung einer 64-Bit-Ganzzahl mit Vorzeichen in eine komplexe Zahl.Defines an implicit conversion of a 64-bit signed integer to a complex number.

Implicit(SByte to Complex)

Definiert eine implizite Konvertierung eines Bytewerts mit Vorzeichen in eine komplexe Zahl.Defines an implicit conversion of a signed byte to a complex number.

Diese API ist nicht CLS-kompatibel.This API is not CLS-compliant.

Implicit(Single to Complex)

Definiert eine implizite Konvertierung einer Gleitkommazahl mit einfacher Genauigkeit in eine komplexe Zahl.Defines an implicit conversion of a single-precision floating-point number to a complex number.

Implicit(UInt16 to Complex)

Definiert eine implizite Konvertierung einer 16-Bit-Ganzzahl ohne Vorzeichen in eine komplexe Zahl.Defines an implicit conversion of a 16-bit unsigned integer to a complex number.

Diese API ist nicht CLS-kompatibel.This API is not CLS-compliant.

Implicit(UInt32 to Complex)

Definiert eine implizite Konvertierung einer 32-Bit-Ganzzahl ohne Vorzeichen in eine komplexe Zahl.Defines an implicit conversion of a 32-bit unsigned integer to a complex number.

Diese API ist nicht CLS-kompatibel.This API is not CLS-compliant.

Implicit(UInt64 to Complex)

Definiert eine implizite Konvertierung einer 64-Bit-Ganzzahl ohne Vorzeichen in eine komplexe Zahl.Defines an implicit conversion of a 64-bit unsigned integer to a complex number.

Diese API ist nicht CLS-kompatibel.This API is not CLS-compliant.

Inequality(Complex, Complex)

Gibt einen Wert zurück, der angibt, ob zwei komplexe Zahlen ungleich sind.Returns a value that indicates whether two complex numbers are not equal.

Multiply(Complex, Complex)

Multipliziert zwei angegebene komplexe Zahlen.Multiplies two specified complex numbers.

Multiply(Complex, Double)

Multipliziert die angegebene komplexe Zahl durch eine angegebene reelle Zahl mit doppelter Genauigkeit.Multiplies the specified complex number by a specified double-precision real number.

Multiply(Double, Complex)

Multipliziert eine angegebene reelle Zahl mit doppelter Genauigkeit durch eine angegebene komplexe Zahl.Multiplies a specified double-precision real number by a specified complex number.

Subtraction(Complex, Complex)

Subtrahiert eine komplexe Zahl von einer anderen komplexen Zahl.Subtracts a complex number from another complex number.

Subtraction(Complex, Double)

Subtrahiert eine reelle Zahl mit doppelter Genauigkeit von einer komplexen Zahl.Subtracts a double-precision real number from a complex number.

Subtraction(Double, Complex)

Subtrahiert eine komplexe Zahl von einer reellen Zahl mit doppelter Genauigkeit.Subtracts a complex number from a double-precision real number.

UnaryNegation(Complex)

Gibt die additive Inverse einer angegebenen komplexen Zahl zurück.Returns the additive inverse of a specified complex number.

Gilt für: