logo

C# |オペレーター

演算子はあらゆるプログラミング言語の基礎です。したがって、の機能は C# 言語は演算子を使用しないと不完全です。演算子を使用すると、さまざまな種類の操作を実行できます。 オペランド 。で C# 、演算子を分類できる に基づく 彼らの違う 機能性 :

C# では、演算子も分類できます オペランドの数に基づく:

  • 単項演算子: を受け取る演算子 1つ 演算を実行するオペランド。
  • 二項演算子: を受け取る演算子 演算を実行するオペランド。
  • 三項演算子: を受け取る演算子 三つ 演算を実行するオペランド。

算術演算子



これらは、オペランドに対して算術/数学演算を実行するために使用されます。の 二項演算子 このカテゴリに該当するものは次のとおりです。

  • 追加: 「+」 演算子は 2 つのオペランドを追加します。例えば、 x+y
  • 減算: 「-」 演算子は 2 つのオペランドを減算します。例えば、 x-y
  • 乗算: 「*」 演算子は 2 つのオペランドを乗算します。例えば、 x*y
  • 分割: '/' 演算子は、最初のオペランドを 2 番目のオペランドで除算します。例えば、 x/y
  • 係数: 「%」 演算子は、最初のオペランドを 2 番目のオペランドで除算した余りを返します。例えば、 x%y

例:

gimp jpeg として保存
C#
// C# program to demonstrate the working  // of Binary Arithmetic Operators using System; namespace Arithmetic {  class GFG  {    // Main Function  static void Main(string[] args)  {    int result;  int x = 10, y = 5;    // Addition  result = (x + y);  Console.WriteLine('Addition Operator: ' + result);    // Subtraction  result = (x - y);  Console.WriteLine('Subtraction Operator: ' + result);    // Multiplication  result = (x * y);  Console.WriteLine('Multiplication Operator: '+ result);    // Division  result = (x / y);  Console.WriteLine('Division Operator: ' + result);    // Modulo  result = (x % y);  Console.WriteLine('Modulo Operator: ' + result);  }  } }>

出力:

Addition Operator: 15 Subtraction Operator: 5 Multiplication Operator: 50 Division Operator: 2 Modulo Operator: 0>

のカテゴリーに該当するものは、 単項演算子 は:

  • インクリメント: 「++」 演算子は、整数値をインクリメントするために使用されます。変数名 (とも呼ばれます) の前に置かれた場合 事前インクリメント 演算子)、その値は即座に増加します。例えば、 ++x
    そして、それが変数名の後に置かれるとき(とも呼ばれます) ポストインクリメント演算子 )、その値はこのステートメントが実行されるまで一時的に保存され、次のステートメントの実行前に更新されます。例えば、 x++
  • デクリメント: 「- -」 演算子は、整数値をデクリメントするために使用されます。変数名 (とも呼ばれます) の前に置かれた場合 前置デクリメント演算子 )、その値は即座に減少します。例えば、 - -バツ
    そして、それが変数名の後に置かれるとき(とも呼ばれます) 後置デクリメント演算子 )、その値はこのステートメントが実行されるまで一時的に保存され、次のステートメントの実行前に更新されます。例えば、 バツ- -

例:

C#
// C# program to demonstrate the working  // of Unary Arithmetic Operators using System; namespace Arithmetic {    class GFG {    // Main Function  static void Main(string[] args)  {    int a = 10, res;    // post-increment example:  // res is assigned 10 only,   // a is not updated yet  res = a++;    //a becomes 11 now  Console.WriteLine('a is {0} and res is {1}', a, res);      // post-decrement example:  // res is assigned 11 only, a is not updated yet  res = a--;    //a becomes 10 now  Console.WriteLine('a is {0} and res is {1}', a, res);       // pre-increment example:  // res is assigned 11 now since a  // is updated here itself  res = ++a;    // a and res have same values = 11  Console.WriteLine('a is {0} and res is {1}', a, res);      // pre-decrement example:  // res is assigned 10 only since  // a is updated here itself  res = --a;    // a and res have same values = 10  Console.WriteLine('a is {0} and res is {1}',a, res);       }  } }>

出力:

a is 11 and res is 10 a is 10 and res is 11 a is 11 and res is 11 a is 10 and res is 10>

関係演算子

関係演算子は 2 つの値の比較に使用されます。一つずつ見てみましょう:

  • 「==」(等しい) 演算子は、指定された 2 つのオペランドが等しいかどうかをチェックします。そうであれば、true を返します。それ以外の場合は false を返します。例えば、 5==5 true を返します。
  • 「!=」(等しくない) 演算子は、指定された 2 つのオペランドが等しいかどうかをチェックします。そうでない場合は、true を返します。それ以外の場合は false を返します。これは、次の正確なブール補数です。 「==」 オペレーター。例えば、 5!=5 false を返します。
  • 「>」(より大きい) 演算子は、最初のオペランドが 2 番目のオペランドより大きいかどうかをチェックします。そうであれば、true を返します。それ以外の場合は false を返します。例えば、 6>5 true を返します。
  • 「<」(未満) 演算子は、最初のオペランドが 2 番目のオペランドより小さいかどうかをチェックします。そうであれば、true を返します。それ以外の場合は false を返します。例えば、 6<5 false を返します。
  • 「>=」(以上) 演算子は、最初のオペランドが 2 番目のオペランド以上であるかどうかをチェックします。そうであれば、true を返します。それ以外の場合は false を返します。例えば、 5>=5 true を返します。
  • 「<=」(以下) 演算子は、最初のオペランドが 2 番目のオペランド以下であるかどうかをチェックします。そうであれば、true を返します。それ以外の場合は false を返します。例えば、 5<=5 も true を返します。

例:

C#
// C# program to demonstrate the working  // of Relational Operators using System; namespace Relational {   class GFG {    // Main Function  static void Main(string[] args)  {  bool result;  int x = 5, y = 10;    // Equal to Operator  result = (x == y);  Console.WriteLine('Equal to Operator: ' + result);    // Greater than Operator  result = (x>y);  Console.WriteLine('演算​​子より大きい: ' + 結果);    // より小さい演算子の結果 = (x< y);  Console.WriteLine('Less than Operator: ' + result);    // Greater than Equal to Operator  result = (x>= y);  Console.WriteLine('以上: '+ 結果);    // 以下と等しい演算子の結果 = (x<= y);  Console.WriteLine('Lesser than or Equal to: '+ result);    // Not Equal To Operator  result = (x != y);  Console.WriteLine('Not Equal to Operator: ' + result);  } } }>

出力:

k 最近隣の人
Equal to Operator: False Greater than Operator: False Less than Operator: True Greater than or Equal to: False Lesser than or Equal to: True Not Equal to Operator: True>

論理演算子

これらは、2 つ以上の条件/制約を組み合わせたり、元の条件の評価を考慮して補完したりするために使用されます。それらについては以下で説明します。

  • 論理積: 「&&」 考慮されている条件が両方とも満たされる場合、演算子は true を返します。それ以外の場合は false を返します。例えば、 a&&b a と b の両方が true (つまり、ゼロ以外) の場合、true を返します。
  • 論理和: '||' 演算子は、考慮されている条件の 1 つ (または両方) が満たされる場合に true を返します。それ以外の場合は false を返します。例えば、 || b a または b のいずれかが true (つまり、ゼロ以外) の場合、true を返します。もちろん、a と b が両方とも true の場合は true を返します。
  • 論理否定: 「!」 演算子は、検討中の条件が満たされていない場合に true を返します。それ以外の場合は false を返します。例えば、 !a a が false の場合、つまり a=0 の場合、true を返します。

例:

C#
// C# program to demonstrate the working  // of Logical Operators using System; namespace Logical {   class GFG {    // Main Function  static void Main(string[] args)   } }>

出力:

C++の文字列分割
AND Operator: False OR Operator: True NOT Operator: False>

ビット演算子

C# には、ビット レベルで動作する、またはビットごとの演算を実行するために使用される 6 つのビット単位の演算子があります。以下はビット単位の演算子です。

  • & (ビット単位の AND) 2 つの数値をオペランドとして受け取り、2 つの数値の各ビットに対して AND を実行します。 AND の結果は、両方のビットが 1 の場合にのみ 1 になります。
  • | (ビットごとの OR) 2 つの数値をオペランドとして受け取り、2 つの数値の各ビットに対して OR を実行します。 2 つのビットのいずれかが 1 であれば、OR の結果は 1 になります。
  • ^ (ビットごとの XOR) 2 つの数値をオペランドとして受け取り、2 つの数値の各ビットに対して XOR を実行します。 2 つのビットが異なる場合、XOR の結果は 1 になります。
  • ~ (ビット単位の補数) 1 つの数値をオペランドとして受け取り、1 から 0、0 から 1 の各ビットを反転します。
  • << (左シフト) 2 つの数値を受け取り、最初のオペランドのビットを左シフトし、2 番目のオペランドでシフトする桁数を決定します。
  • >> (右シフト) 2 つの数値を受け取り、最初のオペランドのビットを右シフトし、2 番目のオペランドでシフトする桁数を決定します。

例:

C#
// C# program to demonstrate the working  // of Bitwise Operators using System; namespace Bitwise {   class GFG {    // Main Function  static void Main(string[] args)    int x = 5, y = 10, result;    // Bitwise AND Operator  result = x & y;  Console.WriteLine('Bitwise AND: ' + result);    // Bitwise OR Operator  result = x  } }>

出力:

Bitwise AND: 0 Bitwise OR: 15 Bitwise XOR: 15 Bitwise Complement: -6 Bitwise Left Shift: 20 Bitwise Right Shift: 1>

代入演算子

代入演算子は、変数に値を代入するために使用されます。代入演算子の左側のオペランドは変数であり、代入演算子の右側のオペランドは値です。右側の値は、左側の変数のデータ型と同じである必要があります。そうでない場合は、コンパイラでエラーが発生します。

さまざまなタイプの代入演算子を以下に示します。

  • =(単純な代入) : これは最も単純な代入演算子です。この演算子は、右側の値を左側の変数に代入するために使用されます。
    例:
a = 10; b = 20; ch = 'y';>
  • +=(割り当ての追加) : この演算子は「+」演算子と「=」演算子を組み合わせたものです。この演算子は、まず左側の変数の現在の値を右側の値に加算し、次にその結果を左側の変数に代入します。
    例:
(a += b) can be written as (a = a + b)>

a に格納されている最初の値が 5 の場合、(a += 6) = 11 となります。

YouTubeビデオVLCを保存
  • -=(代入の減算) : この演算子は、「-」演算子と「=」演算子を組み合わせたものです。この演算子は、まず左側の変数の現在の値を右側の値から減算し、その結果を左側の変数に代入します。
    例:
(a -= b) can be written as (a = a - b)>

a に格納されている最初の値が 8 の場合、(a -= 6) = 2 となります。

  • *=(乗算代入) : この演算子は「*」演算子と「=」演算子の組み合わせです。この演算子は、まず左側の変数の現在値と右側の値を乗算し、次にその結果を左側の変数に代入します。
    例:
(a *= b) can be written as (a = a * b)>

a に格納されている最初の値が 5 の場合、(a *= 6) = 30 となります。

  • /=(部門の割り当て): この演算子は、「/」演算子と「=」演算子を組み合わせたものです。この演算子は、まず左側の変数の現在値を右側の値で除算し、その結果を左側の変数に代入します。
    例:
(a /= b) can be written as (a = a / b)>

a に格納されている最初の値が 6 の場合、(a /= 2) = 3 となります。

  • %=(モジュラスの割り当て): この演算子は、「%」演算子と「=」演算子を組み合わせたものです。この演算子は、まず左側の変数の現在値を右側の値で割ってから、その結果を左側の変数に代入します。
    例:
(a %= b) can be written as (a = a % b)>

a に格納されている最初の値が 6 の場合、(a %= 2) = 0 となります。

  • <<=(左シフト代入) : この演算子は、「<<」演算子と「=」演算子を組み合わせたものです。この演算子は、まず左側の変数の現在の値を右側の値だけ左シフトし、次に結果を左側の変数に代入します。
    例:
(a <<= 2) can be written as (a = a << 2)>

a に格納されている最初の値が 6 の場合、(a <<= 2) = 24 となります。

  • >>=(右シフト代入) : この演算子は、「>>」演算子と「=」演算子を組み合わせたものです。この演算子は、まず左側の変数の現在値を右側の値だけ右シフトし、次に結果を左側の変数に代入します。
    例:
(a>>= 2) は (a = a>> 2) と書くことができます>>

a に格納されている最初の値が 6 の場合、(a>>= 2) = 1 となります。

  • &=(ビット単位の AND 代入) : この演算子は、「&」演算子と「=」演算子を組み合わせたものです。この演算子は、まず左側の変数の現在値と右側の値をビット単位で AND 演算し、その結果を左側の変数に代入します。
    例:
(a &= 2) can be written as (a = a & 2)>

a に格納されている最初の値が 6 の場合、(a &= 2) = 2 となります。

  • ^=(ビットごとの排他的論理和) : この演算子は、「^」演算子と「=」演算子を組み合わせたものです。この演算子は、まず左側の変数の現在値と右側の値のビットごとの排他的論理和を計算し、次にその結果を左側の変数に代入します。
    例:
(a ^= 2) can be written as (a = a ^ 2)>

a に格納されている最初の値が 6 の場合、(a ^= 2) = 4 となります。

  • |=(ビットごとの包含的 OR) : この演算子は「|」演算子と「=」演算子の組み合わせです。この演算子は、まず左側の変数の現在値と右側の値のビットごとの包含的 OR を計算し、その結果を左側の変数に割り当てます。
    例 :
(a |= 2) can be written as (a = a | 2)>

最初の場合、a に格納されている値は 6 です。その場合、(a |= 2) = 6 となります。

例:

C#
// C# program to demonstrate the working  // of Assignment Operators using System; namespace Assignment {   class GFG {    // Main Function  static void Main(string[] args)  = 4;   Console.WriteLine('Bitwise Inclusive OR Assignment Operator: ' + x);     } }>

出力:

ニック・プロス ブラック・ライトニング
Add Assignment Operator: 25 Subtract Assignment Operator: 15 Multiply Assignment Operator: 75 Division Assignment Operator: 5 Modulo Assignment Operator: 0 Left Shift Assignment Operator: 32 Right Shift Assignment Operator: 2 Bitwise AND Assignment Operator: 4 Bitwise Exclusive OR Assignment Operator: 8 Bitwise Inclusive OR Assignment Operator: 12>

条件演算子

if-else ステートメントの短縮版である三項演算子です。 3 つのオペランドがあるため、三項という名前が付けられています。ブール式の値に応じて 2 つの値のいずれかを返します。

構文:

condition ? first_expression : second_expression;>

説明:
条件: true または false に評価される必要があります。
条件が真の場合
first_expression が評価され、結果になります。
条件が false の場合、
Second_expression が評価され、結果になります。

例:

C#
// C# program to demonstrate the working  // of Conditional Operator using System; namespace Conditional {   class GFG {    // Main Function  static void Main(string[] args)  {  int x = 5, y = 10, result;    // To find which value is greater  // Using Conditional Operator  result = x>はい? x : y;     // 結果を表示するには Console.WriteLine('Result: ' + result);    // どちらの値が大きいかを調べるには // 条件演算子の使用 result = x< y ? x : y;     // To display the result  Console.WriteLine('Result: ' + result);  } } }>

出力:

Result: 10 Result: 5>