สารบัญ:
คำจำกัดความ - ผู้ประกอบการที่ไม่ได้ตรวจสอบหมายถึงอะไร
โอเปอเรเตอร์ที่ไม่ถูกตรวจสอบใน C # เป็นโอเปอเรเตอร์ที่ใช้ในการปิดใช้งานการตรวจสอบโอเวอร์โฟลว์ในระหว่างการประเมินผลของนิพจน์และการแปลง
ในขณะที่ทำการดำเนินการทางคณิตศาสตร์ชนิดอินทิกรัลโดยใช้นิพจน์ที่มีประเภทข้อมูลตัวเลขมันสามารถส่งผลให้เกิดข้อยกเว้นมากเกินไปหากผลลัพธ์ของการดำเนินการมีขนาดใหญ่เกินไปที่จะแสดงในจำนวนที่จัดสรรด้วยจำนวนบิตเฉพาะตามชนิดของมัน ในกรณีที่โอเวอร์โฟลเป็นผลการดำเนินงานที่ยอมรับได้มีความจำเป็นต้องระงับข้อยกเว้นและดำเนินการกับโปรแกรมต่อ โอเปอเรเตอร์ที่ไม่ถูกตรวจสอบจะถูกใช้ในสถานการณ์เช่นนี้โดยการตั้งค่าบริบทที่ไม่ได้ทำเครื่องหมายซึ่งโอเวอร์โฟลว์ทางคณิตศาสตร์จะถูกละเว้นด้วยการตัดทอนผลลัพธ์
ในทางตรงกันข้ามกับ C / C ++ ซึ่งละเว้นความเป็นไปได้ของการล้น C # มีคุณสมบัติในการจัดการหรือละเว้นการโอเวอร์โฟลว์โดยการให้บริการตัวดำเนินการที่เลือกและไม่ถูกตรวจสอบ โอเปอเรเตอร์ที่ไม่ถูกตรวจสอบมักใช้ในส่วนของโครงการที่คอมไพล์ในบริบทที่ตรวจสอบ อัลกอริทึมบางตัวที่ผู้ใช้งานที่ไม่ถูกตรวจสอบสามารถใช้รวมถึง checksums ตรรกะการเข้ารหัสและการสร้างตัวเลขสุ่ม
Techopedia อธิบายตัวดำเนินการที่ไม่ได้ตรวจสอบ
โอเปอเรเตอร์ที่ไม่ถูกตรวจสอบจะใช้กับคำหลัก "ไม่ จำกัด " ในนิพจน์และเป็นคำสั่งในบล็อกของรหัส มันตั้งบริบทการดำเนินการที่บิตที่สำคัญที่สุดของผลจะถูกยกเลิกในการเกิดขึ้นของจำนวนเต็มล้นในขณะที่การดำเนินการต่อ บริบทของการไม่ถูกตรวจสอบสามารถใช้ได้กับคำสั่งที่อยู่ในคำสั่ง "ไม่ถูกตรวจสอบ" และไม่เรียกใช้ฟังก์ชันที่ซ้อนกัน
ตัวอย่างเช่นเมื่อผลิตภัณฑ์ของจำนวนเต็มขนาดใหญ่สองประเภทต้องการการใช้งานแบบสั้นเพื่อวัตถุประสงค์บางอย่างโดยไม่มีความจำเป็นในการตรวจสอบการเกิดโอเวอร์โฟลว์สามารถใช้โอเปอเรเตอร์ที่ไม่ถูกตรวจสอบได้
โดยทั่วไปแล้วนิพจน์ที่มีเงื่อนไขคงที่สามารถตรวจสอบได้สำหรับการล้นในช่วงเวลารวบรวม โอเปอเรเตอร์ที่ไม่ถูกตรวจสอบสามารถใช้เพื่อหลีกเลี่ยงการตรวจสอบโอเวอร์โฟลว์ในนิพจน์ดังกล่าวและสำหรับนิพจน์ที่มีเงื่อนไขไม่คงที่ซึ่งไม่ได้ตรวจสอบโดยค่าเริ่มต้นทั้งในเวลาทำงานและเวลารวบรวม
ตัวดำเนินการที่ไม่ถูกตรวจสอบไม่สามารถโหลดได้มากเกินไป
เนื่องจากการใช้โอเปอเรเตอร์ที่ไม่ถูกตรวจสอบมีการปรับประสิทธิภาพจึงควรใช้เฉพาะกรณีที่โอเวอร์โฟลไม่ทำให้เกิดปัญหาใด ๆ
คำจำกัดความนี้ถูกเขียนในบริบทของ C #