工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C#演算子完全ガイド:C#における演算子の包括的解説

C#演算子

C#のあらゆる演算子カテゴリを探求し、コードで効果的に適用する方法を学びます。

演算子は、1つ以上のオペランド(変数、定数、式)に対してアクションを実行する記号です。C#では、演算子は実行する操作の種類によってグループ化されます(算術、論理、ビット演算など)。


1. 基本代入演算子

代入演算子(=)は、値を変数に格納します。

double x; x = 50.05;

例1:代入演算子の使用

using System; namespace OperatorDemo { class AssignmentOperator { public static void Main(string[] args) { int firstNumber, secondNumber; firstNumber = 10; Console.WriteLine("First Number = {0}", firstNumber); secondNumber = firstNumber; Console.WriteLine("Second Number = {0}", secondNumber); } } }

出力:

First Number = 10 Second Number = 10

2. 算術演算子

算術演算子は数学的計算を実行します。

int x = 5; int y = 10; int z = x + y; // z = 15
C# 算術演算子
演算子名称例
+加算6 + 3 = 9
-減算10 - 6 = 4
*乗算4 * 2 = 8
/除算10 / 5 = 2
%剰余(余り)16 % 3 = 1

例2:算術演算

using System; namespace OperatorDemo { class ArithmeticOperator { public static void Main(string[] args) { double firstNumber = 14.40, secondNumber = 4.60, result; int num1 = 26, num2 = 4, rem; result = firstNumber + secondNumber; Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result); result = firstNumber - secondNumber; Console.WriteLine("{0} - {1} = {2}", firstNumber, secondNumber, result); result = firstNumber * secondNumber; Console.WriteLine("{0} * {1} = {2}", firstNumber, secondNumber, result); result = firstNumber / secondNumber; Console.WriteLine("{0} / {1} = {2}", firstNumber, secondNumber, result); rem = num1 % num2; Console.WriteLine("{0} % {1} = {2}", num1, num2, rem); } } }

出力:

14.4 + 4.6 = 19 14.4 - 4.6 = 9.8 14.4 * 4.6 = 66.24 14.4 / 4.6 = 3.1304347826087 26 % 4 = 2

3. 関係演算子

これらの演算子は2つのオペランドを比較し、ブール結果を返します。

C# 関係演算子
演算子名称例
==等しい6 == 4 → false
>より大きい3 > -1 → true
<より小さい5 < 3 → false
>=以上4 >= 4 → true
<=以下5 <= 3 → false
!=等しくない10 != 2 → true

例3:関係チェック

using System; namespace OperatorDemo { class RelationalOperator { public static void Main(string[] args) { bool result; int firstNumber = 10, secondNumber = 20; result = (firstNumber==secondNumber); Console.WriteLine("{0} == {1} returns {2}",firstNumber, secondNumber, result); result = (firstNumber > secondNumber); Console.WriteLine("{0} > {1} returns {2}",firstNumber, secondNumber, result); result = (firstNumber < secondNumber); Console.WriteLine("{0} < {1} returns {2}",firstNumber, secondNumber, result); result = (firstNumber >= secondNumber); Console.WriteLine("{0} >= {1} returns {2}",firstNumber, secondNumber, result); result = (firstNumber <= secondNumber); Console.WriteLine("{0} <= {1} returns {2}",firstNumber, secondNumber, result); result = (firstNumber != secondNumber); Console.WriteLine("{0} != {1} returns {2}",firstNumber, secondNumber, result); } } }

出力:

10 == 20 returns False 10 > 20 returns False 10 < 20 returns True 10 >= 20 returns False 10 <= 20 returns True 10 != 20 returns True

4. 論理演算子

論理演算子はブール式を評価します。

C# 論理演算子
オペランド1オペランド2OR (||)AND (&&)
truetruetruetrue
truefalsetruefalse
falsetruetruefalse
falsefalsefalsefalse

例4:論理演算子

using System; namespace OperatorDemo { class LogicalOperator { public static void Main(string[] args) { bool result; int firstNumber = 10, secondNumber = 20; result = (firstNumber == secondNumber) || (firstNumber > 5); Console.WriteLine(result); result = (firstNumber == secondNumber) && (firstNumber > 5); Console.WriteLine(result); } } }

出力:

True False

5. 単項演算子

単項演算子は単一オペランドに作用します。

C# 単項演算子
演算子名称説明
+単項プラス符号を変更しない
-単項マイナス符号を反転
++インクリメント1増やす
--デクリメント1減らす
!論理NOTブール値を反転

例5:単項演算子

using System; namespace OperatorDemo { class UnaryOperator { public static void Main(string[] args) { int number = 10, result; bool flag = true; result = +number; Console.WriteLine("+number = " + result); result = -number; Console.WriteLine("-number = " + result); result = ++number; Console.WriteLine("++number = " + result); result = --number; Console.WriteLine("--number = " + result); Console.WriteLine("!flag = " + (!flag)); } } }

出力:

+number = 10 -number = -10 ++number = 11 --number = 10 !flag = False

例6:プレフィックス vs ポストフィックス インクリメント

using System; namespace OperatorDemo { class UnaryOperator { public static void Main(string[] args) { int number = 10; Console.WriteLine(number++); // 10 Console.WriteLine(number); // 11 Console.WriteLine(++number); // 12 Console.WriteLine(number); // 12 } } }

出力:

10 11 12 12

6. 三項演算子

三項演算子(? :)はif-else文を1行に凝縮します。

variable = Condition ? Expression1 : Expression2;

ConditionがtrueならExpression1、そうでなければExpression2が評価されます。

例7:三項演算子の使用

using System; namespace OperatorDemo { class TernaryOperator { public static void Main(string[] args) { int number = 10; string result = (number % 2 == 0) ? "Even Number" : "Odd Number"; Console.WriteLine("{0} is {1}", number, result); } } }

出力:

10 is Even Number

C#三項演算子の詳細をご覧ください。


7. ビット演算 & ビットシフト演算子

これらの演算子は整数型の個々のビットを操作します。

C# ビット演算 & ビットシフト演算子
演算子名称
~ビット反転
&AND
|OR
^XOR
<<左シフト
>>右シフト

例8:ビット演算

using System; namespace OperatorDemo { class BitOperator { public static void Main(string[] args) { int firstNumber = 10, secondNumber = 20, result; result = ~firstNumber; Console.WriteLine("~{0} = {1}", firstNumber, result); result = firstNumber & secondNumber; Console.WriteLine("{0} & {1} = {2}", firstNumber, secondNumber, result); result = firstNumber | secondNumber; Console.WriteLine("{0} | {1} = {2}", firstNumber, secondNumber, result); result = firstNumber ^ secondNumber; Console.WriteLine("{0} ^ {1} = {2}", firstNumber, secondNumber, result); result = firstNumber << 2; Console.WriteLine("{0} << 2 = {1}", firstNumber, result); result = firstNumber >> 2; Console.WriteLine("{0} >> 2 = {1}", firstNumber, result); } } }

出力:

~10 = -11 10 & 20 = 0 10 | 20 = 30 10 ^ 20 = 30 10 << 2 = 40 10 >> 2 = 2

詳細はC#ビット演算とビットシフト演算子ガイドを参照。


8. 複合代入演算子

これらの演算子は算術演算と代入を組み合わせます。

C# 複合代入演算子
演算子名称例等価
+=加算代入x += 5x = x + 5
-=減算代入x -= 5x = x - 5
*=乗算代入x *= 5x = x * 5
/=除算代入x /= 5x = x / 5
%=剰余代入x %= 5x = x % 5
&=ビットAND代入x &= 5x = x & 5
|=ビットOR代入x |= 5x = x | 5
^=ビットXOR代入x ^= 5x = x ^ 5
<<=左シフト代入x <<= 5x = x << 5
>>=右シフト代入x >>= 5x = x >> 5
=>ラムダ演算子x => x * xxの二乗を返す

例9:複合代入の使用

using System; namespace OperatorDemo { class CompoundOperator { public static void Main(string[] args) { int number = 10; number += 5; Console.WriteLine(number); number -= 3; Console.WriteLine(number); number *= 2; Console.WriteLine(number); number /= 3; Console.WriteLine(number); number %= 3; Console.WriteLine(number); number &= 10; Console.WriteLine(number); number |= 14; Console.WriteLine(number); number ^= 12; Console.WriteLine(number); number <<= 2; Console.WriteLine(number); number >>= 3; Console.WriteLine(number); } } }

出力:

15 12 24 8 2 2 14 2 8 1

ラムダ式については後続チュートリアルで詳述します。

C言語

  1. C言語演算子完全ガイド:算術・関係・論理・ビット演算子
  2. C++演算子を徹底解説:種類、例、サンプルプログラム付き
  3. C++演算子オーバーロード:コード例付き実践ガイド
  4. C言語演算子完全ガイド:種類、機能、実例付き解説
  5. C++演算子完全ガイド:種類、使い方、ベストプラクティス
  6. Verilog演算子:合成に必須の算術・制御演算子
  7. Python 演算子完全マスター: 包括的ガイド
  8. Python演算子オーバーロード完全ガイド:__add__、__lt__など特殊メソッドでOOP設計を強化
  9. Java演算子をマスター:種類、構文、実践例
  10. Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
  11. Java演算子完全ガイド:算術/関係/ビット/論理/代入/三項/instanceof