## Definition

Adds a specified number to another specified number, where at least one of them is a complex number, and the other could be a double-precision real number.

## Examples

The following example illustrates addition with complex numbers:

using System;
using System.Numerics;

public class Example
{
public static void Main()
{
Complex[] values= { new Complex(12.3, -1.4),
new Complex(-6.2, 3.1),
new Complex(8.9, 1.5) };
foreach (var c1 in values)
foreach (var c2 in values)
Console.WriteLine("{0} + {1} = {2}", c1, c2, c1 + c2);
}
}
// The example displays the following output:
//       (12.3, -1.4) + (12.3, -1.4) = (24.6, -2.8)
//       (12.3, -1.4) + (-6.2, 3.1) = (6.1, 1.7)
//       (12.3, -1.4) + (8.9, 1.5) = (21.2, 0.1)
//       (-6.2, 3.1) + (12.3, -1.4) = (6.1, 1.7)
//       (-6.2, 3.1) + (-6.2, 3.1) = (-12.4, 6.2)
//       (-6.2, 3.1) + (8.9, 1.5) = (2.7, 4.6)
//       (8.9, 1.5) + (12.3, -1.4) = (21.2, 0.1)
//       (8.9, 1.5) + (-6.2, 3.1) = (2.7, 4.6)
//       (8.9, 1.5) + (8.9, 1.5) = (17.8, 3)
Imports System.Numerics

Module modMain
Public Sub Main()
Dim values() As Complex = { New Complex(12.3, -1.4),
New Complex(-6.2, 3.1),
New Complex(8.9, 1.5) }
For Each c1 In values
For Each c2 In values
Console.WriteLine("{0} + {1} = {2}", c1, c2, c1 + c2)
Next
Next
End Sub
End Module
' The example displays the following output:
'       (12.3, -1.4) + (12.3, -1.4) = (24.6, -2.8)
'       (12.3, -1.4) + (-6.2, 3.1) = (6.1, 1.7)
'       (12.3, -1.4) + (8.9, 1.5) = (21.2, 0.1)
'       (-6.2, 3.1) + (12.3, -1.4) = (6.1, 1.7)
'       (-6.2, 3.1) + (-6.2, 3.1) = (-12.4, 6.2)
'       (-6.2, 3.1) + (8.9, 1.5) = (2.7, 4.6)
'       (8.9, 1.5) + (12.3, -1.4) = (21.2, 0.1)
'       (8.9, 1.5) + (-6.2, 3.1) = (2.7, 4.6)
'       (8.9, 1.5) + (8.9, 1.5) = (17.8, 3)

## Remarks

The Addition operator allows performing addition operations that involve complex numbers. It enables code such as the following:

Complex c1 = new Complex(1.2, 2.3);
Complex c2 = new Complex(2.1, 3.2);
Complex c3 = c1 + c2;
Dim c1 As New Complex(1.2, 2.3)
Dim c2 As New Complex(2.1, 3.2)
Dim c3 As Complex = c1 + c2

If the addition results in an overflow in either the real or imaginary component, the value of that component is either Double.PositiveInfinity or Double.NegativeInfinity.

Languages that do not support custom operators can call the Add equivalent group of methods instead.

The Addition operators that receive one double are more efficient than the operators that receive two Complex numbers.

public:
static System::Numerics::Complex operator +(System::Numerics::Complex left, System::Numerics::Complex right);
public static System.Numerics.Complex operator + (System.Numerics.Complex left, System.Numerics.Complex right);
static member ( + ) : System.Numerics.Complex * System.Numerics.Complex -> System.Numerics.Complex
Public Shared Operator + (left As Complex, right As Complex) As Complex

#### Parameters

left
Complex

The first complex value to add.

right
Complex

The second complex value to add.

#### Returns

Complex

The sum of left and right.

### Remarks

The addition of a complex number, a + bi, and a second complex number, c + di, takes the following form:

(a + c) + (b + d)i

Languages that do not support custom operators can call the Complex.Add(Complex, Double) equivalent method instead.

### Applies to

Adds a double-precision real number to a complex number.

public:
static System::Numerics::Complex operator +(double left, System::Numerics::Complex right);
public static System.Numerics.Complex operator + (double left, System.Numerics.Complex right);
static member ( + ) : double * System.Numerics.Complex -> System.Numerics.Complex
Public Shared Operator + (left As Double, right As Complex) As Complex

#### Parameters

left
Double

The double-precision real value to add.

right
Complex

#### Returns

Complex

The sum of left and right as a complex number.

### Remarks

The addition of a real number (which can be regarded as the complex number a + 0i) and a complex number (c + di) takes the following form:

(a + c) + di

Languages that do not support custom operators can call the Complex.Add(Double, Complex) equivalent method instead.

### Applies to

Adds a complex number to a double-precision real number.

public:
static System::Numerics::Complex operator +(System::Numerics::Complex left, double right);
public static System.Numerics.Complex operator + (System.Numerics.Complex left, double right);
static member ( + ) : System.Numerics.Complex * double -> System.Numerics.Complex
Public Shared Operator + (left As Complex, right As Double) As Complex

#### Parameters

left
Complex

right
Double

The double-precision real value to add.

#### Returns

Complex

The sum of left and right as a complex number.

### Remarks

The addition of a complex number (a + bi) and a real number (which can be regarded as the complex number c + 0i) takes the following form:

(a + c) + bi

Languages that do not support custom operators can call the Complex.Add(Double, Complex) equivalent method instead.