Operator * (C#-Referenz)
Der Multiplikationsoperator (*) berechnet das Produkt seiner Operanden. Wird auch verwendet als Dereferenzierungsoperator, der einem Zeiger das Lesen und Schreiben ermöglicht.
Für alle numerischen Typen sind Multiplikationsoperatoren vordefiniert.
Mithilfe des *-Operators können auch Zeigertypen deklariert und Zeiger dereferenziert werden. Dieser Operator kann nur in nicht sicheren Kontexten verwendet werden, die durch das unsafe-Schlüsselwort gekennzeichnet sind und die /unsafe-Compileroption erfordern. Der Dereferenzierungsoperator ist auch als Indirection-Operator bekannt.
Benutzerdefinierte Typen können den binären *-Operator überladen (siehe Operator). Beim Überladen eines binären Operators wird implizit auch der zugehörige Zuweisungsoperator überladen, falls vorhanden.
// cs_operator_mult.cs
using System;
class MainClass
{
static void Main()
{
Console.WriteLine(5 * 2);
Console.WriteLine(-.5 * .2);
Console.WriteLine(-.5m * .2m); // decimal type
}
}
Ausgabe
10 -0.1 -0.10
// cs_operator_ptr.cs
// compile with: /unsafe
public class MainClass
{
unsafe static void Main()
{
int i = 5;
int* j = &i;
System.Console.WriteLine(*j);
}
}
Referenz
C#-OperatorenKonzepte
C# ProgrammierhandbuchUnsicherer Code und Zeiger (C#-Programmierhandbuch)