สารบัญ:
คำจำกัดความ - ผู้ประกอบการเปรียบเทียบหมายถึงอะไร
ใน C # ตัวดำเนินการเปรียบเทียบคือตัวดำเนินการไบนารีที่รับตัวถูกดำเนินการสองตัวที่มีการเปรียบเทียบค่า ตัวดำเนินการเปรียบเทียบถูกใช้ในข้อความสั่งแบบมีเงื่อนไขโดยเฉพาะอย่างยิ่งในลูปซึ่งผลลัพธ์ของการเปรียบเทียบตัดสินว่าควรดำเนินการต่อหรือไม่ พวกเขาเป็นกุญแจสำคัญในการควบคุมการไหลของโปรแกรมหรือที่เรียกว่าการประมวลผลตามเงื่อนไข
ผู้ประกอบการเปรียบเทียบ ได้แก่ :
- ตัวดำเนินการความเท่าเทียมกัน (==) ส่งคืนค่าจริงสำหรับตัวถูกดำเนินการที่มีค่าเท่ากัน
- ตัวดำเนินการอสมการ (! =) ส่งคืนค่าเท็จถ้าตัวถูกดำเนินการสองตัวเท่ากัน
- น้อยกว่าตัวดำเนินการสัมพันธ์ (<) กำหนดไว้สำหรับประเภทตัวเลขและการแจงนับทั้งหมดและส่งกลับค่าจริงถ้าตัวถูกดำเนินการแรกน้อยกว่าตัวถูกดำเนินการตัวที่สอง
- มากกว่าตัวดำเนินการเชิงสัมพันธ์ (>) กำหนดไว้สำหรับประเภทตัวเลขและการแจงนับทั้งหมดและส่งกลับค่าจริงถ้าตัวถูกดำเนินการแรกมากกว่าตัวถูกดำเนินการที่สอง
- น้อยกว่าหรือเท่ากับตัวดำเนินการสัมพันธ์ (<=) ที่กำหนดไว้สำหรับชนิดตัวเลขและการแจงนับทั้งหมดและส่งกลับค่าจริงถ้าตัวถูกดำเนินการแรกน้อยกว่าหรือเท่ากับตัวถูกดำเนินการที่สอง
- มากกว่าหรือเท่ากับตัวดำเนินการสัมพันธ์ (> =) ที่กำหนดไว้สำหรับชนิดตัวเลขและการแจงนับทั้งหมดและส่งกลับค่าจริงถ้าตัวถูกดำเนินการแรกมากกว่าหรือเท่ากับตัวถูกดำเนินการที่สอง
ตัวดำเนินการเปรียบเทียบจะเรียกว่าตัวดำเนินการสัมพันธ์
Techopedia อธิบายผู้ประกอบการเปรียบเทียบ
ผู้ประกอบการเปรียบเทียบมีคุณสมบัติดังต่อไปนี้:
- ดำเนินการกับตัวแปรหนึ่งประเภทและคืนค่าประเภทบูล
- ไม่สามารถใช้โดยตรงเพื่อเปรียบเทียบออบเจ็กต์ประเภทที่ผู้ใช้กำหนด หากใช้เพื่อเปรียบเทียบวัตถุตัวดำเนินการเปรียบเทียบจะเปรียบเทียบการอ้างอิงวัตถุเท่านั้นไม่ใช่ข้อมูลที่มี
- สามารถโหลดมากเกินไปในประเภทที่ผู้ใช้กำหนดโดยการกำหนดฟังก์ชั่นสมาชิกคงที่และใช้ตัวดำเนินการคำหลัก
- ต้องโอเวอร์โหลดเป็นคู่ หาก == มีการบรรทุกมากเกินไป! = จะต้องโอเวอร์โหลด กฎเดียวกันนี้ใช้กับคู่ <และ> และ <= และ> =
- การบรรทุกตัวดำเนินการเปรียบเทียบ <และ> มากเกินไปจะทำให้ตัวดำเนินการการมอบหมายที่สอดคล้องกันเกินกำหนด (ถ้ามี)
- ถ้า == และ! = ถูกโอเวอร์โหลดสำหรับประเภทที่กำหนดไว้เมธอด Equals () และ GetHashCode () จะถูกแทนที่
- ไม่สามารถใช้กับ structs ได้จนกว่าตัวดำเนินการจะโอเวอร์โหลดเพื่อใช้ตรรกะสำหรับการเปรียบเทียบ
ใน. NET Framework คลาส System.String จะใช้สำหรับการดำเนินการที่เกี่ยวข้องกับสตริงเช่นการจัดการการเปรียบเทียบและการต่อข้อมูล มันโอเวอร์โหลดตัวดำเนินการ == เพื่อตรวจสอบความเท่าเทียมกันของเนื้อหาของตัวถูกดำเนินการชนิดสตริงและเปรียบเทียบการอ้างอิงของตัวถูกดำเนินการหากพวกเขาไม่ใช่ประเภทสตริง .NET Framework เวอร์ชัน 4.0 ให้ความสะดวกในการพิมพ์แบบไดนามิกโดยคอมไพเลอร์สามารถทำการแปลงที่เหมาะสมทั้งหมดที่จำเป็นสำหรับการเปรียบเทียบ
เมื่อเปรียบเทียบออบเจ็กต์ที่มีคลาสที่ซ้อนกันการเปรียบเทียบสามารถขึ้นอยู่กับการอ้างอิงที่ชี้ไปยังออบเจ็กต์ที่ซ้อนกันที่จะต้องทำการเปรียบเทียบ (การเปรียบเทียบแบบลึก) หรือบนค่าของวัตถุ การตัดสินใจนี้ควรได้รับการแก้ไขในขั้นตอนการออกแบบของแอปพลิเคชัน สำหรับการเปรียบเทียบระหว่างจำนวนจุดลอยตัวค่าควรถูกปัดเศษให้อยู่ในระดับที่ยอมรับได้สำหรับแอปพลิเคชัน
