式の評価に影響を与える演算子の優先順位を使用して式内の項をグループ化できます。この場合、特定の演算子の優先順位は他の演算子の優先順位に比べて高く、演算子をグループ化する際には、優先順位の高い演算子が優先されます。式の評価の優先順位が低い演算子と比較し、さまざまなタイプの演算子には、後置演算子、単項演算子、乗算演算子、加算演算子、シフト演算子、関係演算子、等価演算子、ビットごとの AND 演算子、ビットごとの XOR 演算子、ビットごとの OR 演算子が含まれます。 、論理 AND 演算子、論理 OR 演算子、条件演算子、代入演算子、カンマ演算子。
C# における演算子の優先順位の関数
C# での演算子の優先順位の仕組みを理解するには、演算子の優先順位を知る必要があります。上位の優先順位は以下のとおりです。
1.後置演算子
- これには演算子 ()[]->.++–
が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象とされる場合は常に左から右になります。
2.単項演算子
- これには演算子 + – ! が含まれます。 ~ ++ — (type)* &sizeof
- これらの演算子の結合性は、演算子が式で使用され、評価の対象となる場合は常に右から左になります。
3.乗算演算子
- これには演算子 */% が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象とされる場合は常に左から右になります。
4.加法演算子
- これには演算子 +-
が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象とされる場合は常に左から右になります。
5.シフト演算子
- これには演算子 <<>>
が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象とされる場合は常に左から右になります。
6.関係演算子
- これには演算子 <<=>>=
が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象とされる場合は常に左から右になります。
7.等価演算子
- これには演算子 == !=
が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象とされる場合は常に左から右になります。
8.ビット単位の AND 演算子
- これには演算子 &
が含まれます
- この演算子の結合性は左から右です。
9.ビットごとの XOR 演算子
- これには演算子 ^
が含まれます
- この演算子の結合性は左から右です。
10.ビット単位の OR 演算子
- これには演算子 |
が含まれます
- この演算子の結合性は左から右です。
11.論理積演算子
- これには演算子 && が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象とされる場合は常に左から右になります。
12.論理和演算子
- これには演算子 ||
が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象とされる場合は常に左から右になります。
13.条件演算子
- これには演算子 ?:
が含まれます
- これらの演算子の結合性は、演算子が式で使用され、評価の対象となる場合は常に右から左になります。
14.代入演算子
- これには演算子が含まれます= += -= *= /= %= >>= <<= &= ^= |=
- これらの演算子の結合性は、演算子が式で使用され、評価の対象となる場合は常に右から左になります。
15.カンマ演算子
- これには演算子 ,
が含まれます
- この演算子の結合性は左から右です。
式の評価時に考慮される演算子の優先順位がわかったので、例を通して優先演算子の働きを理解しましょう。以下のステートメントを考えてみましょう:
int y = 2 + 3 * 5;
このステートメントの実行後の y の値は何ですか?
- 上記のステートメントでは、演算子 + と * は 3 に関連付けられています。演算子の優先順位と * は + よりも優先順位が高いことを理解しているため、式 3 * 5 が最初に実行され、次に式の結果が実行されます。式は 2 に加算されます。したがって、上記のステートメントの y の値は 17 になります。
- + の優先順位が * よりも高い場合、式 2 + 3 が最初に実行され、結果の式に 5 が乗算されます。その場合、ステートメントの実行後の y の値は 25 になります。 C# の演算子の優先順位では、* は + よりも優先され、式の結果は 17 になります。
C# における演算子の優先順位の例
演算子の優先順位を示す C# プログラム。
コード:
using System;
namespace Op
{
public class OpPrec
{
public static void Main(string[] args)
{
int res;
int x = 4, y = 5, z = 3;
res = --x * y - ++z;
Console.WriteLine(res);
bool res1;
res1 = y >= z + x;
Console.WriteLine(res1);
}
}
}
上記のプログラムでは、式 –x * y – ++z で –x と ++z が最初に評価され、次に –x の結果の値に y が乗算され、その結果の値が結果の値から減算されます。 C# の演算子の優先順位に従った ++z の値。また、式 y >= z + x では、z+x が最初に評価され、結果の値が C# の演算子の優先順位に従って y の値と比較されます。
出力:
結論
この記事では、C# における演算子の優先順位、その優先順位、定義と例を通して演算子の優先順位の仕組みについて学びました。
以上がC# における演算子の優先順位の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。