ข้อ จำกัด 'ที่ไหน' คืออะไร
เดอะ 'ที่ไหน' ข้อ จำกัด เป็นข้อ จำกัด ประเภททั่วไปใน C # ที่อนุญาตให้นักพัฒนาระบุพารามิเตอร์ประเภทที่ประเภททั่วไปสามารถแสดงได้ ข้อจำกัดถูกระบุโดยใช้ 'ที่ไหน' คำหลักตามด้วยพารามิเตอร์ประเภทและข้อจำกัด ไวยากรณ์สำหรับการใช้ 'ที่ไหน' ข้อ จำกัด มีดังนี้:
ชื่อคลาสคลาสสาธารณะ < ต > โดยที่ T : ข้อ จำกัด{
// การใช้งานคลาส
}
ที่นี่ “ชื่อชั้น” แสดงชื่อของคลาสด้วยพารามิเตอร์ประเภททั่วไป “ท” . เดอะ 'ที่ไหน' คำหลักระบุข้อจำกัดสำหรับพารามิเตอร์ประเภท และ “ข้อจำกัด” เป็นประเภทที่พารามิเตอร์ประเภทต้องแสดง
ลองมาดูตัวอย่างคลาสทั่วไปที่ยอมรับพารามิเตอร์ประเภทและส่งกลับค่าต่ำสุดจากอาร์เรย์ของค่าต่างๆ ที่นี่รหัสใช้ 'ที่ไหน' ข้อจำกัดในการระบุว่าพารามิเตอร์ประเภทต้องเป็นประเภทตัวเลข:
ใช้ระบบ ;
MinValue คลาสสาธารณะ < ต > โดยที่ T : โครงสร้าง , IComparable , IConvertible
{
สาธารณะ T GetMinValue ( ต [ ] อาร์เรย์ )
{
ถ้า ( อาร์เรย์ == โมฆะ || อาร์เรย์ ความยาว == 0 ) {
โยน ArgumentException ใหม่ ( 'อาร์เรย์ต้องไม่เป็นโมฆะหรือว่างเปล่า' ) ;
}
นาที = อาร์เรย์ [ 0 ] ;
สำหรับ ( นานาชาติ ฉัน = 1 ; ฉัน < อาร์เรย์ ความยาว ; ฉัน ++ ) {
ถ้า ( อาร์เรย์ [ ฉัน ] . เปรียบเทียบกับ ( นาที ) < 0 ) {
นาที = อาร์เรย์ [ ฉัน ] ;
}
}
กลับ นาที ;
}
}
โปรแกรมชั้นเรียนสาธารณะ
{
สาธารณะ คงที่ เป็นโมฆะ หลัก ( )
{
นานาชาติ [ ] intArray = { 1 , 2 , 3 , 4 , 5 } ;
ค่าต่ำสุด < นานาชาติ > intค่าต่ำสุด = ใหม่ MinValue < นานาชาติ > ( ) ;
นานาชาติ intนาที = intค่าต่ำสุด รับ MinValue ( intArray ) ;
คอนโซล เขียนไลน์ ( 'ค่าต่ำสุดของ intArray: {0}' , intนาที ) ;
สองเท่า [ ] ดับเบิลอาร์เรย์ = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;
ค่าต่ำสุด < สองเท่า > doubleMinValue = ใหม่ MinValue < สองเท่า > ( ) ;
สองเท่า doubleMin = doubleMinValue รับ MinValue ( ดับเบิลอาร์เรย์ ) ;
คอนโซล เขียนไลน์ ( 'ค่าต่ำสุดของ doubleArray: {0}' , doubleMin ) ;
}
}
ที่นี่เราได้กำหนดคลาสทั่วไป “มูลค่าขั้นต่ำ” ที่ยอมรับพารามิเตอร์ประเภท “ท” และส่งกลับค่าต่ำสุดจากอาร์เรย์ของค่า ต่อไปเราได้ใช้ 'ที่ไหน' ข้อจำกัดในการระบุว่าพารามิเตอร์ประเภทต้องเป็นโครงสร้าง ใช้อินเทอร์เฟซ IComparable และใช้งานอินเทอร์เฟซ IConvertible ข้อจำกัดนี้ทำให้แน่ใจว่าอนุญาตให้ใช้เฉพาะประเภทตัวเลขเท่านั้นที่เป็นพารามิเตอร์ประเภท
บทสรุป
เดอะ 'ที่ไหน' ข้อ จำกัด ใน C # เป็นคุณสมบัติที่มีประสิทธิภาพที่ช่วยให้นักพัฒนาสามารถบังคับใช้ความปลอดภัยของประเภทและป้องกันข้อผิดพลาดระหว่างรันไทม์ โดยใช้ข้อจำกัดนี้ คุณสามารถระบุชุดของชนิดที่พารามิเตอร์ชนิดทั่วไปสามารถแสดงได้ บทความนี้ได้ให้ภาพรวมของ 'ที่ไหน' ข้อจำกัดใน C# และสาธิตวิธีการใช้งานด้วยโค้ด