Let's see a simple way to model complex numbers in C#.

First of all, let's create a simple console project in .NET Core and add a class file into the solution. We choose Z as the name of the class to match the mathematical notation of complex numbers:

```
class Z
{
public double x;
public double y;
}
```

We've added two variables, x and y of type **double**.

To express z = 5 + 10i we will have to type:

```
z = new Z() { x = 5, y = 10 };
```

It would be handier if we could type:

```
var z = new Z(5,10);
```

So let's provide a constructor to Z class:

```
public Z(double x, double y)
{
this.x = x; this.y = y;
}
```

Now we can use the shorter (and handier) form:

```
var z = new Z(-1 , 2);
```

What if we wanted to present the complex number in a mathematical way?

Let's override ToString() method.

```
public override string ToString()
{
string sign = y >= 0 ? "+" : "";
return $"{x}{sign}{y}i";
}
```

Now, this is possible:

```
Console.WriteLine(new Z(-5, -4));
```

The ouput will be:

```
-5-4i
```