* 演算子 (C# リファレンス)* Operator (C# Reference)

乗算演算子 (*) は、そのオペランドの積を計算します。The multiplication operator (*) computes the product of its operands. すべての数値型には定義済みの乗算演算子があります。All numeric types have predefined multiplication operators.

また、* はポインターへの読み書きを可能にする逆参照演算子としても機能します。* also serves as the dereference operator, which allows reading and writing to a pointer.

コメントRemarks

* 演算子は、ポインターの種類の宣言、およびポインターの逆参照にも使用されます。The * operator is also used to declare pointer types and to dereference pointers. この演算子は、unsafe キーワードの使用によって示され、/unsafe コンパイラ オプションを必要とする、unsafe コンテキストでのみ使用できます。This operator can only be used in unsafe contexts, denoted by the use of the unsafe keyword, and requiring the /unsafe compiler option. 逆参照演算子は、間接演算子とも呼ばれます。The dereference operator is also known as the indirection operator.

ユーザー定義型は二項 * 演算子をオーバーロードできます (「演算子」を参照)。User-defined types can overload the binary * operator (see operator). 二項演算子をオーバーロードすると、対応する代入演算子がある場合、これも暗黙的にオーバーロードされます。When a binary operator is overloaded, the corresponding assignment operator, if any, is also implicitly overloaded.

Example

class Multiply
{
    static void Main() 
    {
        Console.WriteLine(5 * 2);
        Console.WriteLine(-.5 * .2);
        Console.WriteLine(-.5m * .2m); // decimal type
    }
}
/*
Output:
10
-0.1
-0.10
*/

Example

public class Pointer
{
    unsafe static void Main()
    {
        int i = 5;
        int* j = &i;
        System.Console.WriteLine(*j);
    }
}
/*
Output:
5
*/

参照See Also