Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

อะไรคือความแตกต่างระหว่าง | และ || หรือตัวดำเนินการใน C #?


| โอเปอเรเตอร์

The | ตัวดำเนินการคำนวณตรรกะ OR ของตัวถูกดำเนินการ ผลลัพธ์ของ x | y เป็นจริงถ้า x หรือ y มีค่าเป็น จริง มิฉะนั้น ผลลัพธ์จะเป็นเท็จ

The | โอเปอเรเตอร์จะประเมินตัวถูกดำเนินการทั้งสองแม้ว่าตัวถูกดำเนินการทางซ้ายจะประเมินว่าเป็นจริง ดังนั้นผลลัพธ์ของการดำเนินการจะเป็นจริงโดยไม่คำนึงถึงค่าของตัวถูกดำเนินการทางขวามือ

|| โอเปอเรเตอร์

ตัวดำเนินการ OR แบบลอจิคัลแบบมีเงื่อนไข || หรือที่รู้จักในชื่อโอเปอเรเตอร์ OR แบบ "ลัดวงจร" จะคำนวณ OR แบบลอจิคัลของตัวถูกดำเนินการ

ผลลัพธ์ของ x || y เป็นจริงถ้า x หรือ y มีค่าเป็น จริง มิฉะนั้นผลลัพธ์จะเป็นเท็จ หาก x มีค่าเป็น จริง ค่า y จะไม่ถูกประเมิน

ตัวอย่าง

class Program {
   static void Main(string[] args){
      int a = 4;
      int b = 3;
      int c = 0;
      c = a | b;
      Console.WriteLine("Line 1 - Value of c is {0}", c);
      Console.ReadLine();
   }
}

ผลลัพธ์

Value of c is 7
Here the values are converted to binary
4−−100
3−−011
Output 7 −−111

ตัวอย่างที่ 2

static void Main(string[] args){
   int a = 4;
   int b = 3;
   int c = 7;
   if (a > b || b > c){
      System.Console.WriteLine("a is largest");
   } else {
      System.Console.WriteLine("a is not largest");
   }
   Console.ReadLine();
}

ผลลัพธ์

a is largest

ในตัวอย่างข้างต้น เงื่อนไขหนึ่งจะคืนค่าเป็นจริง ดังนั้นจึงไม่ต้องคอยตรวจสอบเงื่อนไขถัดไป