Complex Complex Complex Complex Struct

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
Attribute
Implementiert

Hinweise

Eine komplexe Zahl ist eine Zahl, die mit einem reellen und einem imaginären Teil enthält.A complex number is a number that comprises a real number part and an imaginary number part. Eine komplexe Zahl Z hat in der Regel die Form Z = X + Yi, in dem x und y werden reelle Zahlen und ich die imaginäre Einheit ist, die die Eigenschaft weist i 2 =-1.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. Durch den Realteil der komplexen Zahl dargestellt x, und der imaginäre Teil der komplexen Zahl wird durch y.The real part of the complex number is represented by x, and the imaginary part of the complex number is represented by y.

Die Complex Typ verwendet, der kartesischen Koordinatensystem (real-imaginär) beim Instanziieren und Bearbeitung komplexer Zahlen.The Complex type uses the Cartesian coordinate system (real, imaginary) when instantiating and manipulating complex numbers. Als Punkt in einem zweidimensionalen Koordinatensystem, bekannt als der komplexen Ebene, kann eine komplexe Zahl dargestellt werden.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 auf der x-Achse (die horizontale Achse) positioniert ist, und der imaginäre Teil befindet sich auf der y-Achse (vertikalen Achse).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).

Einem beliebigen Zeitpunkt in der komplexen Ebene kann auch basierend auf der Absolute Wert ist, verwenden das System Polarkoordinate 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 den Polarkoordinaten ist ein Punkt von zwei Zahlen gekennzeichnet:In polar coordinates, a point is characterized by two numbers:

  • Seine Größe, d. h. die Entfernung des Punkts aus dem Ursprung (d. h. 0,0 oder der Punkt, an dem die x-Achse und y-Achse schneiden).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, in der der Winkel zwischen der reellen Achse und die Zeile, die vom Ursprung 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 eine komplexe Zahl in einem der folgenden Methoden einen Wert zuweisen:You can assign a value to a complex number in one of the following ways:

  • Durch Übergeben von zwei Double Werte an den Konstruktor.By passing two Double values to its constructor. Der erste Wert entspricht dem Realteil der komplexen Zahl und der zweite Wert dar, des imaginären Teils.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 in der zweidimensionalen kartesisches 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 einer Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, oder Double -Werts in einen Complex Objekt.By assigning a Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, or Double value to a Complex object. Der Wert wird dem reellen Teil der komplexen Zahl und imaginäre Teil entspricht 0.The value becomes the real part of the complex number, and its imaginary part equals 0.

  • Umwandlung (in C#) oder konvertieren (in Visual Basic) eine Decimal oder BigInteger -Werts in einen Complex Objekt.By casting (in C#) or converting (in Visual Basic) a Decimal or BigInteger value to a Complex object. Der Wert wird dem reellen Teil der komplexen Zahl und imaginäre Teil entspricht 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 der Operator zurückgegeben wird ein Complex Objekt.By assigning the complex number that is returned by a method or operator to a Complex object. Z. B. Complex.Add ist eine statische Methode, die eine komplexe Zahl zurückgibt, die die Summe zweier komplexer Zahlen, und die Complex.Addition Operator addiert zwei komplexe Zahlen 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.

Das folgende Beispiel zeigt jede dieser fünf Methoden Zuweisung eines Werts in eine komplexe Zahl.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)

Operationen mit komplexen ZahlenOperations with Complex Numbers

Die Complex Struktur in .NET Framework enthält Member, 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 festzustellen, ob diese gleich sind.Methods to compare two complex numbers to determine whether they are equal.

  • Operatoren, die arithmetische Operationen für komplexe Zahlen durchführen.Operators to perform arithmetic operations on complex numbers. Complex Operatoren können Sie zum Ausführen der Addition, Subtraktion, Multiplikation, Division und unäre Negation mit komplexen Zahlen.Complex operators enable you to perform addition, subtraction, multiplication, division, and unary negation with complex numbers.

  • Methoden zum Ausführen von anderen numerischen Operations für komplexe Zahlen.Methods to perform other numerical operations on complex numbers. Zusätzlich zu den vier grundlegenden arithmetischen Operationen können Sie eine komplexen Zahl mit einem bestimmten Exponenten auslösen, ermittelt die Quadratwurzel einer komplexen Zahl und rufen Sie den absoluten Wert einer komplexen Zahl.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 für trigonometrische Operationen für komplexe Zahlen.Methods to perform trigonometric operations on complex numbers. Beispielsweise können Sie den Tangens eines Winkels, dargestellt durch eine komplexe Zahl berechnen.For example, you can calculate the tangent of an angle represented by a complex number.

Beachten Sie, dass, weil die Real und Imaginary Eigenschaften sind schreibgeschützt, Sie können nicht den Wert eines vorhandenen ändern Complex Objekt.Note that, because the Real and Imaginary properties are read-only, you cannot modify the value of an existing Complex object. Alle Methoden, die für einen Vorgang ausführen einer Complex Zahl ist, wenn deren Rückgabewert vom Typ Complex, ein neues zurückgeben Complex Anzahl.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 reellen und imaginären Teile einer komplexen Zahl werden durch zwei Werte für Gleitkommazahlen mit doppelter Genauigkeit dargestellt.The real and imaginary parts of a complex number are represented by two double-precision floating-point values. Dies bedeutet, dass Complex Werte, wie Werte für Gleitkommazahlen mit doppelter Genauigkeit, abnehmen können aufgrund von numerischen.This means that Complex values, like double-precision floating-point values, can lose precision as a result of numerical operations. Dies bedeutet, dass strenge Vergleiche auf Gleichheit zweier Complex Werte möglicherweise nicht bestehen, auch wenn der Unterschied zwischen den beiden Werten aufgrund einer verringerten Genauigkeit 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.

Beispielsweise sollte die Potenzierung der Logarithmus einer Zahl die ursprüngliche Anzahl zurückgeben.For example, performing exponentiation on the logarithm of a number should return the original number. In einigen Fällen kann zum Verlust der Genauigkeit von Gleitkommawerten jedoch geringfügige Unterschiede zwischen den beiden Werten, führen, wie im folgende 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

Auf ähnliche Weise das folgende Beispiel, das berechnet die Quadratwurzel einer Complex Zahl ist, etwas andere Ergebnisse erzeugt, auf dem 32-Bit- und IA64-Versionen von .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

Durch die reellen und imaginären Teile einer komplexen Zahl dargestellt werden Double Werte.The real and imaginary parts of a complex number are represented by Double values. Neben den im Bereich von Double.MinValue zu Double.MaxValue, kann der realen oder imaginäre Teil einer komplexen Zahl den Wert der haben Double.PositiveInfinity, Double.NegativeInfinity, oder Double.NaN.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, und Double.NaN bei jedem Vorgang arithmetischen oder trigonometrische übertragen werden.Double.PositiveInfinity, Double.NegativeInfinity, and Double.NaN all propagate in any arithmetic or trigonometric operation.

Im folgenden Beispiel, Division durch Zero erzeugt eine komplexe Zahl, deren tatsächliche und imaginäre Teile beide sind Double.NaN.In the following example, division by Zero produces a complex number whose real and imaginary parts are both Double.NaN. Daher Multiplikation mit diesem Wert erzeugt außerdem eine komplexe Zahl, deren tatsächliche und imaginäre Teile sind Double.NaN.As a result, performing multiplication with this value also produces a complex number whose real and imaginary parts are Double.NaN. Auf ähnliche Weise Ausführen einer Multiplikation, die den Bereich der Ganzzahlarithmetik die Double Typ erzeugt, eine komplexen Zahl, deren reeller Teil Double.NaN und deren imaginärer Teil 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. Ausführung einer Division mit diese komplexe Zahl eine komplexen Zahl, deren reeller Teil, gibt Double.NaN und deren imaginärer Teil 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 dieser Überlauf des Bereichs von, der Double -Datentyp ist keine Ausnahme ausgelöst.Mathematical operations with complex numbers that are invalid or that overflow the range of the Double data type do not throw an exception. Stattdessen, die sie zurückgeben einer Double.PositiveInfinity, Double.NegativeInfinity, oder Double.NaN unter den folgenden Bedingungen:Instead, they return a Double.PositiveInfinity, Double.NegativeInfinity, or Double.NaN under the following conditions:

Beachten Sie, dass dies für alle von einer Methode ausgeführten zwischenberechnungen gilt.Note that this applies to any intermediate calculations performed by a method. Z. B. die Multiplikation von new Complex(9e308, 9e308) and new Complex(2.5, 3.5) verwendet die Formel (Ac - bd) + (Ad + bc) ich.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 aus der Multiplikation ausgewertet wird, den Ausdruck 9e308 * 2.5 – 9e308 * 3.5.The calculation of the real component that results from the multiplication evaluates the expression 9e308 * 2.5 - 9e308 * 3.5. Jede Multiplikation in diesem Ausdruck gibt Double.PositiveInfinity, und der Versuch, subtrahieren Sie Double.PositiveInfinity aus Double.PositiveInfinity gibt Double.NaN.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

In der Standardeinstellung die angegebene Zeichenfolgendarstellung einer komplexen Zahl hat das Format ( echte , imaginären), wobei echte und imaginären sind die zeichenfolgendarstellungen der Double Werten, die komplexe Zahl des reellen und imaginären Komponenten 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 Überladungen der ToString Methode ermöglichen die Anpassung der die Zeichenfolgendarstellung dieser Double Werte entsprechend die Formatierungskonventionen einer bestimmten Kultur oder in einem bestimmten Format, die durch eine standardmäßige oder benutzerdefinierte numerische definierten angezeigt werden Formatzeichenfolge.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 Numeric Format Strings und Custom Numeric Format Strings.)(For more information, see Standard Numeric Format Strings and Custom Numeric Format Strings.)

Einer der gängigeren Methoden auszudrücken, die angegebene Zeichenfolgendarstellung einer komplexen Zahl hat das Format a + Bi, wobei einer der komplexen Zahl, reelle Komponente, und b ist die komplexe Zahl die imaginäre Komponente.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. In der Elektrotechnik, eine komplexe Zahl ausgedrückt wird, am häufigsten als eine + Bj.In electrical engineering, a complex number is most commonly expressed as a + bj. Sie können die angegebene Zeichenfolgendarstellung einer komplexen Zahl in einem der folgenden zwei Arten zurückgeben.You can return the string representation of a complex number in either of these two forms. Zu diesem Zweck definieren Sie einen benutzerdefinierten Formatanbieters durch das Implementieren der ICustomFormatter und IFormatProvider Schnittstellen, und rufen Sie dann die String.Format(IFormatProvider, String, Object[]) Methode.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.

Das folgende Beispiel definiert eine ComplexFormatter -Klasse, die eine komplexe Zahl, als Zeichenfolge in Form von entweder darstellt a + Bi oder ein + Bj.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 folgende Beispiel verwendet dann diese benutzerdefinierten Formatierer, um die angegebene Zeichenfolgendarstellung 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) Complex(Double, Double) Complex(Double, Double) 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 ImaginaryOne ImaginaryOne 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 Infinity Infinity Infinity
NaN NaN NaN NaN
One One One 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 Zero 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 Imaginary Imaginary Imaginary

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

Magnitude Magnitude Magnitude Magnitude

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

Phase Phase Phase Phase

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

Real Real Real Real

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

Methoden

Abs(Complex) Abs(Complex) Abs(Complex) 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) Acos(Complex) Acos(Complex) 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(Double, Complex) Add(Double, Complex) Add(Double, Complex) Add(Double, Complex)
Add(Complex, Double) Add(Complex, Double) Add(Complex, Double) Add(Complex, Double)
Add(Complex, Complex) Add(Complex, Complex) Add(Complex, Complex) Add(Complex, Complex)

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

Asin(Complex) Asin(Complex) Asin(Complex) 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) Atan(Complex) Atan(Complex) 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) Conjugate(Complex) Conjugate(Complex) 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) Cos(Complex) Cos(Complex) Cos(Complex)

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

Cosh(Complex) Cosh(Complex) Cosh(Complex) Cosh(Complex)

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

Divide(Double, Complex) Divide(Double, Complex) Divide(Double, Complex) Divide(Double, Complex)
Divide(Complex, Double) Divide(Complex, Double) Divide(Complex, Double) Divide(Complex, Double)
Divide(Complex, Complex) Divide(Complex, Complex) Divide(Complex, Complex) 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.

Equals(Complex) Equals(Complex) Equals(Complex) 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) Equals(Object) Equals(Object) 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) Exp(Complex) Exp(Complex) 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) FromPolarCoordinates(Double, Double) FromPolarCoordinates(Double, Double) FromPolarCoordinates(Double, Double)

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

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

IsFinite(Complex) IsFinite(Complex) IsFinite(Complex) IsFinite(Complex)
IsInfinity(Complex) IsInfinity(Complex) IsInfinity(Complex) IsInfinity(Complex)
IsNaN(Complex) IsNaN(Complex) IsNaN(Complex) IsNaN(Complex)
Log(Complex) Log(Complex) Log(Complex) 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) Log(Complex, Double) Log(Complex, Double) 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) Log10(Complex) Log10(Complex) 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) Multiply(Complex, Complex) Multiply(Complex, Complex) Multiply(Complex, Complex)

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

Multiply(Double, Complex) Multiply(Double, Complex) Multiply(Double, Complex) Multiply(Double, Complex)
Multiply(Complex, Double) Multiply(Complex, Double) Multiply(Complex, Double) Multiply(Complex, Double)
Negate(Complex) Negate(Complex) Negate(Complex) Negate(Complex)

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

Pow(Complex, Double) Pow(Complex, Double) Pow(Complex, Double) 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.

Pow(Complex, Complex) Pow(Complex, Complex) Pow(Complex, Complex) 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.

Reciprocal(Complex) Reciprocal(Complex) Reciprocal(Complex) Reciprocal(Complex)

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

Sin(Complex) Sin(Complex) Sin(Complex) Sin(Complex)

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

Sinh(Complex) Sinh(Complex) Sinh(Complex) Sinh(Complex)

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

Sqrt(Complex) Sqrt(Complex) Sqrt(Complex) Sqrt(Complex)

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

Subtract(Double, Complex) Subtract(Double, Complex) Subtract(Double, Complex) Subtract(Double, Complex)
Subtract(Complex, Double) Subtract(Complex, Double) Subtract(Complex, Double) Subtract(Complex, Double)
Subtract(Complex, Complex) Subtract(Complex, Complex) Subtract(Complex, Complex) 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.

Tan(Complex) Tan(Complex) Tan(Complex) Tan(Complex)

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

Tanh(Complex) Tanh(Complex) Tanh(Complex) Tanh(Complex)

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

ToString() ToString() ToString() 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) ToString(IFormatProvider) ToString(IFormatProvider) 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) ToString(String) ToString(String) 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) ToString(String, IFormatProvider) ToString(String, IFormatProvider) 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) Addition(Complex, Complex) Addition(Complex, Complex) Addition(Complex, Complex)

Addiert zwei komplexe Zahlen.Adds two complex numbers.

Addition(Double, Complex) Addition(Double, Complex) Addition(Double, Complex) Addition(Double, Complex)
Addition(Complex, Double) Addition(Complex, Double) Addition(Complex, Double) Addition(Complex, Double)
Division(Complex, Complex) Division(Complex, Complex) Division(Complex, Complex) 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) Division(Complex, Double) Division(Complex, Double) Division(Complex, Double)
Division(Double, Complex) Division(Double, Complex) Division(Double, Complex) Division(Double, Complex)
Equality(Complex, Complex) Equality(Complex, Complex) Equality(Complex, Complex) 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(Decimal to Complex) Explicit(Decimal to Complex) Explicit(Decimal to Complex) 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.

Explicit(BigInteger to Complex) Explicit(BigInteger to Complex) Explicit(BigInteger to Complex) 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.

Implicit(UInt64 to Complex) Implicit(UInt64 to Complex) Implicit(UInt64 to Complex) 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.

Implicit(UInt32 to Complex) Implicit(UInt32 to Complex) Implicit(UInt32 to Complex) 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(UInt16 to Complex) Implicit(UInt16 to Complex) Implicit(UInt16 to Complex) 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(Single to Complex) Implicit(Single to Complex) Implicit(Single to Complex) 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(SByte to Complex) Implicit(SByte to Complex) Implicit(SByte to Complex) 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(Int32 to Complex) Implicit(Int32 to Complex) Implicit(Int32 to Complex) 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(Int16 to Complex) Implicit(Int16 to Complex) Implicit(Int16 to Complex) 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(Double to Complex) Implicit(Double to Complex) Implicit(Double to Complex) 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(Byte to Complex) Implicit(Byte to Complex) Implicit(Byte to Complex) 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(Int64 to Complex) Implicit(Int64 to Complex) Implicit(Int64 to Complex) 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.

Inequality(Complex, Complex) Inequality(Complex, Complex) Inequality(Complex, Complex) 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) Multiply(Complex, Complex) Multiply(Complex, Complex) Multiply(Complex, Complex)

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

Multiply(Double, Complex) Multiply(Double, Complex) Multiply(Double, Complex) Multiply(Double, Complex)
Multiply(Complex, Double) Multiply(Complex, Double) Multiply(Complex, Double) Multiply(Complex, Double)
Subtraction(Complex, Complex) Subtraction(Complex, Complex) Subtraction(Complex, Complex) Subtraction(Complex, Complex)

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

Subtraction(Complex, Double) Subtraction(Complex, Double) Subtraction(Complex, Double) Subtraction(Complex, Double)
Subtraction(Double, Complex) Subtraction(Double, Complex) Subtraction(Double, Complex) Subtraction(Double, Complex)
UnaryNegation(Complex) UnaryNegation(Complex) UnaryNegation(Complex) UnaryNegation(Complex)

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

Gilt für: