วิธีใช้ where (ข้อจำกัดประเภททั่วไป)

Withi Chi Where Khx Cakad Prapheth Thawpi



ข้อ จำกัด ประเภททั่วไปใน C # ช่วยให้นักพัฒนาสามารถกำหนดชุดของประเภทที่พารามิเตอร์ประเภททั่วไปสามารถแสดงได้ คุณลักษณะนี้ช่วยให้คอมไพเลอร์บังคับใช้ความปลอดภัยของประเภทและป้องกันข้อผิดพลาดที่อาจเกิดขึ้นระหว่างรันไทม์ หนึ่งในข้อจำกัดที่ใช้มากที่สุดคือ 'ที่ไหน' ข้อ จำกัด บทความนี้จะอธิบายสิ่งที่ 'ที่ไหน' ข้อ จำกัด อยู่ใน C # และวิธีการใช้ในรหัสของคุณ

ข้อ จำกัด 'ที่ไหน' คืออะไร

เดอะ 'ที่ไหน' ข้อ จำกัด เป็นข้อ จำกัด ประเภททั่วไปใน 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# และสาธิตวิธีการใช้งานด้วยโค้ด