แบบฝึกหัด - ค่าผลลัพธ์และพารามิเตอร์ของวิธีการ
- 18 นาที
ในหน่วยก่อนหน้า คุณใช้สถานการณ์การเข้ารหัส "ลูกเต๋าม้วน" เพื่อแสดงความแตกต่างระหว่างวิธีการแบบ stateful (อินสแตนซ์) และเมธอดแบบไม่ระบุสถานะ (คงที่) สถานการณ์เดียวกันนี้สามารถช่วยให้คุณเข้าใจแนวคิดที่สําคัญอื่น ๆ เกี่ยวกับการเรียกวิธีการ เช่น:
- จัดการค่าที่ส่งกลับของเมธอด
- พารามิเตอร์เมธอดและการส่งผ่านอาร์กิวเมนต์ไปยังเมธอด
- การเลือกเวอร์ชันโอเวอร์โหลดของวิธีการ
ค่าผลลัพธ์
วิธีการบางอย่างถูกออกแบบมาเพื่อทําให้ฟังก์ชันเสร็จสมบูรณ์และสิ้นสุด "เงียบ" กล่าวอีกนัยหนึ่ง คือ จะไม่ส่งกลับค่าเมื่อเสร็จสิ้น ซึ่งเรียกว่าวิธีการโมฆะ
วิธีอื่นๆ ได้รับการออกแบบมาเพื่อส่งกลับค่าเมื่อเสร็จสมบูรณ์ โดยทั่วไปค่าที่ส่งกลับจะเป็นผลลัพธ์ของการดําเนินการ ค่าที่ส่งกลับเป็นวิธีหลักสําหรับวิธีการ ในการสื่อสารกลับไปยังโค้ดที่เรียกใช้วิธีการ
คุณเห็นว่า Random.Next() วิธีการ ส่งกลับ int ชนิดที่มีค่าของตัวเลขที่สร้างขึ้นแบบสุ่ม อย่างไรก็ตาม เมธอด สามารถออกแบบเพื่อส่งกลับชนิดข้อมูลใด ๆ แม้แต่ระดับชั้นอื่น ตัวอย่างเช่น String คลาส มีเมธอดบางอย่างที่ส่งกลับสตริง บางเมธอดที่ส่งกลับจํานวนเต็มและบางอย่างที่ส่งกลับบูลีน
เมื่อเรียกใช้เมธอด ที่ส่งกลับค่า คุณมักจะกําหนดค่าที่ส่งกลับให้กับตัวแปร ด้วยวิธีนี้คุณสามารถใช้ค่าในภายหลังในรหัสของคุณ ในสถานการณ์จํานวนลูกเต๋า คุณได้กําหนดค่าที่ส่งกลับของ Random.Next() ให้กับ roll ตัวแปร:
int roll = dice.Next(1, 7);
ในบางกรณี คุณอาจต้องการใช้ค่าที่ส่งกลับโดยตรง โดยไม่ต้องกําหนดให้กับตัวแปร ตัวอย่างเช่น คุณอาจต้องการพิมพ์ค่าที่ส่งกลับไปยังคอนโซลดังต่อไปนี้:
Console.WriteLine(dice.Next(1, 7));
แม้ว่าเมธอด จะแสดงค่า แต่ก็เป็นไปได้ที่จะเรียกใช้เมธอด โดยไม่ใช้ค่าที่ส่งกลับ ตัวอย่างเช่น คุณสามารถละเว้นค่าที่ส่งกลับได้โดยการเรียกใช้เมธอด ดังนี้:
dice.Next(1, 7);
อย่างไรก็ตาม การละเว้นค่าที่ส่งกลับจะไม่มีจุดหมาย เหตุผลที่คุณกําลังเรียกใช้ Next() เมธอด คือเพื่อให้คุณสามารถเรียกใช้ค่าสุ่มถัดไปได้
พารามิเตอร์เมธอดและอาร์กิวเมนต์ในคําสั่งการเรียก
เมื่อคุณเรียกใช้เมธอด คุณสามารถส่งผ่านค่าที่เมธอด จะใช้เพื่อทํางานให้เสร็จสมบูรณ์ได้ ค่าเหล่านี้เรียกว่า อาร์กิวเมนต์ เมธอด ใช้อาร์กิวเมนต์เพื่อกําหนดค่าให้กับ พารามิเตอร์ ที่กําหนดไว้ในลายเซ็นของวิธีการ เมธอด อาจต้องมีพารามิเตอร์อย่างน้อยหนึ่งตัวเพื่อทํางานนั้นหรือไม่มีเลย
หมายเหตุ
คําว่า 'พารามิเตอร์' และ 'อาร์กิวเมนต์' มักจะใช้สลับกัน อย่างไรก็ตาม 'พารามิเตอร์' หมายถึงตัวแปรที่ใช้ภายในเมธอด 'อาร์กิวเมนต์' คือค่าที่ส่งผ่านเมื่อมีการเรียกเมธอด
วิธีการส่วนใหญ่ถูกออกแบบมาเพื่อยอมรับพารามิเตอร์อย่างน้อยหนึ่งรายการ คุณสามารถใช้พารามิเตอร์เพื่อกําหนดค่าวิธีการทํางาน หรืออาจดําเนินการโดยตรง ตัวอย่างเช่น Random.Next() วิธีการ ใช้พารามิเตอร์เพื่อกําหนดค่าขอบเขตด้านบนและด้านล่างของค่าที่ส่งกลับ อย่างไรก็ตาม จะใช้ Console.WriteLine() พารามิเตอร์โดยตรงโดยการพิมพ์ค่าไปยังคอนโซล
เม ธอด จะใช้ลายเซ็นของเมธอด เพื่อกําหนดจํานวนพารามิเตอร์ที่เมธอดจะยอมรับ เช่นเดียวกับชนิดข้อมูลของแต่ละพารามิเตอร์ คําสั่งการเข้ารหัสที่เรียกใช้เมธอด ต้องเป็นไปตามข้อกําหนดที่ระบุโดยลายเซ็นของเมธอด บางวิธีมีตัวเลือกสําหรับตัวเลขและชนิดของพารามิเตอร์ที่วิธีการยอมรับ
เมื่อผู้เรียกเรียกใช้วิธีการ จะมีค่าที่เป็นรูปธรรม ที่เรียกว่า อาร์กิวเมนต์ สําหรับแต่ละพารามิเตอร์ อาร์กิวเมนต์ต้องเข้ากันได้กับชนิดพารามิเตอร์ อย่างไรก็ตาม ชื่ออาร์กิวเมนต์ถ้ามีการใช้ในรหัสการโทรไม่จําเป็นต้องเหมือนกับชื่อพารามิเตอร์ที่กําหนดไว้ในเมธอด
พิจารณาโค้ดต่อไปนี้:
Random dice = new Random();
int roll = dice.Next(1, 7);
Console.WriteLine(roll);
บรรทัดรหัสแรกจะสร้างอินสแตนซ์ของคลาสที่Randomชื่อว่าdice บรรทัดรหัสที่สองใช้dice.Next(1, 7)วิธีการ เพื่อกําหนดค่าแบบสุ่มให้กับจํานวนเต็มที่ชื่อว่าroll โปรดสังเกตว่าคําสั่งเรียกมีสองอาร์กิวเมนต์ที่คั่นด้วย , สัญลักษณ์ เมNext()ธอด ประกอบด้วยลายเซ็นของเมธอดที่ยอมรับพารามิเตอร์สองชนิดint พารามิเตอร์เหล่านี้จะถูกใช้เพื่อกําหนดค่าขอบเขตที่ต่ํากว่าและด้านบนสําหรับตัวเลขสุ่มที่จะถูกส่งกลับ บรรทัดรหัสสุดท้ายใช้วิธีการ ใน Console.WriteLine() การพิมพ์ค่าของ roll ไปยังคอนโซล
อาร์กิวเมนต์ที่ส่งผ่านไปยังเมธอด ต้องเป็นข้อมูลชนิดเดียวกันกับพารามิเตอร์ที่สอดคล้องกันซึ่งกําหนดโดยเมธอด หากคุณพยายามส่งผ่านอาร์กิวเมนต์ที่พิมพ์ไม่ถูกต้องไปยังเมธอด คอมไพเลอร์ C# จะจับข้อผิดพลาดของคุณและบังคับให้คุณอัปเดตคําสั่งการเรียกของคุณก่อนที่รหัสของคุณจะคอมไพล์และเรียกใช้ การตรวจสอบชนิดเป็นวิธีหนึ่งที่ C# และ .NET ใช้เพื่อป้องกันไม่ให้ผู้ใช้ปลายทางพบข้อผิดพลาดที่รันไทม์
หมายเหตุ
แม้ว่าพารามิเตอร์จะถูกใช้บ่อย แต่ไม่ใช่วิธีการทั้งหมดที่ต้องใช้พารามิเตอร์เพื่อทํางานของพวกเขาให้เสร็จสมบูรณ์ ตัวอย่างเช่น Console คลาส มี Console.Clear() วิธีการที่ไม่ได้ใช้พารามิเตอร์ เนื่องจากวิธีนี้ใช้เพื่อล้างข้อมูลใด ๆ ที่แสดงในคอนโซล จึงไม่จําเป็นต้องใช้พารามิเตอร์เพื่อทํางานให้เสร็จสมบูรณ์
วิธีการโอเวอร์โหลด
มีหลายเมธอดในไลบรารีคลาส .NET มีลายเซ็นของเมธอดที่โอเวอร์โหลด เหนือสิ่งอื่นใด สิ่งนี้ช่วยให้คุณสามารถเรียกใช้เมธอด ที่มีหรือไม่มีอาร์กิวเมนต์ที่ระบุในคําสั่งการเรียก
มีการกําหนดวิธีการโอเวอร์โหลดด้วยลายเซ็นหลายวิธี วิธีการโอเวอร์โหลดให้วิธีการที่แตกต่างกันในการเรียกใช้วิธีการ หรือให้ข้อมูลชนิดที่แตกต่างกัน
ในบางกรณี เวอร์ชันโอเวอร์โหลดของเมธอด จะถูกใช้เพื่อกําหนดพารามิเตอร์โดยใช้ชนิดข้อมูลที่แตกต่างกัน ตัวอย่างเช่น Console.WriteLine() วิธีการ มีเวอร์ชันโอเวอร์โหลดที่แตกต่างกัน 19 เวอร์ชัน การโอเวอร์โหลดเหล่านั้นส่วนใหญ่อนุญาตให้เมธอด ยอมรับประเภทต่างๆ แล้วเขียนข้อมูลที่ระบุไปยังคอนโซล พิจารณาโค้ดต่อไปนี้:
int number = 7;
string text = "seven";
Console.WriteLine(number);
Console.WriteLine();
Console.WriteLine(text);
ในตัวอย่างนี้ คุณจะเรียกใช้เมธอด เวอร์ชันโอเวอร์โหลด ที่แยกต่างหากสามเวอร์ชันWriteLine()
- วิธีแรก
WriteLine()ใช้ลายเซ็นของเมธอดที่กําหนดintพารามิเตอร์ - วิธีที่สอง
WriteLine()ใช้ลายเซ็นของเมธอดที่กําหนดพารามิเตอร์ศูนย์ - วิธีที่สาม
WriteLine()ใช้ลายเซ็นของเมธอดที่กําหนดstringพารามิเตอร์
ในกรณีอื่น ๆ เวอร์ชันโอเวอร์โหลดของเมธอดจะกําหนดจํานวนพารามิเตอร์ที่แตกต่างกัน คุณสามารถใช้พารามิเตอร์ทางเลือกเพื่อให้สามารถควบคุมผลลัพธ์ที่ต้องการได้มากขึ้น ตัวอย่างเช่น Random.Next() เมธอด มีเวอร์ชันโอเวอร์โหลดที่ช่วยให้คุณสามารถตั้งค่าระดับข้อจํากัดต่าง ๆ ในจํานวนที่สร้างขึ้นแบบสุ่มได้
แบบฝึกหัดต่อไปนี้เรียกใช้ Random.Next() เมธอด เพื่อสร้างค่าจํานวนเต็มแบบสุ่มที่มีระดับข้อจํากัดที่แตกต่างกัน:
ตรวจสอบให้แน่ใจว่า คุณมีไฟล์ Program.cs ที่ว่างเปล่าเปิดอยู่ในรหัส Visual Studio
หากจําเป็น ให้เปิด Visual Studio Code แล้วทําตามขั้นตอนต่อไปนี้เพื่อเตรียมไฟล์ Program.cs ในตัวแก้ไข:
บนเมนู ไฟล์ เลือก เปิดโฟลเดอร์
ใช้กล่องโต้ตอบ เปิดโฟลเดอร์ เพื่อนําทางไปยัง และจากนั้นเปิดโฟลเดอร์ CsharpProjects
ในมุมมอง Visual Studio Code EXPLORER ให้เลือก Program.cs
บนเมนู การเลือก รหัส Visual Studio เลือก เลือกทั้งหมด แล้วกดปุ่มลบ
เมื่อต้องการตรวจสอบเวอร์ชันโอเวอร์โหลดของ
Random.Next()วิธีการ ให้ป้อนรหัสต่อไปนี้:Random dice = new Random(); int roll1 = dice.Next(); int roll2 = dice.Next(101); int roll3 = dice.Next(50, 101); Console.WriteLine($"First roll: {roll1}"); Console.WriteLine($"Second roll: {roll2}"); Console.WriteLine($"Third roll: {roll3}");บนเมนู ไฟล์ของ Visual Studio Code ให้คลิก บันทึก
ในมุมมอง EXPLORER เมื่อต้องการเปิดเทอร์มินัลที่ตําแหน่งที่ตั้งโฟลเดอร์ TestProject ของคุณ ให้คลิกขวาที่ TestProject จากนั้นเลือกเปิดในเทอร์มินัลรวม
ตรวจสอบให้แน่ใจว่าเส้นทางโฟลเดอร์ที่แสดงในพร้อมท์คําสั่งชี้ไปยังโฟลเดอร์ที่มีไฟล์ Program.cs ของคุณ
ที่พร้อมท์คําสั่งเทอร์มินัล เมื่อต้องการเรียกใช้โค้ดของคุณ ให้พิมพ์ dotnet เรียกใช้ แล้วกด Enter
โปรดสังเกตว่าผลลัพธ์ของคุณจะคล้ายกับผลลัพธ์ต่อไปนี้:
First roll: 342585470 Second roll: 43 Third roll: 89ตัวเลขที่สร้างขึ้นเป็นแบบสุ่ม ดังนั้นผลลัพธ์ของคุณจะแตกต่างกัน อย่างไรก็ตาม ตัวอย่างนี้แสดงให้เห็นถึงช่วงของผลลัพธ์ที่คุณอาจเห็น
ใช้เวลาสักครู่ในการตรวจสอบรหัส
เวอร์ชัน
Next()แรกของวิธีการ ไม่ได้ตั้งค่าขอบเขตด้านบนและด้านล่าง ดังนั้นเมธอด จะส่งกลับค่าโดยมีช่วงจาก0เป็น2,147,483,647ซึ่งเป็นค่าสูงสุดที่intร้านค้าสามารถจัดเก็บได้เวอร์ชันที่สองของ
Next()เมธอด จะระบุค่าสูงสุดเป็นขอบเขตด้านบน ดังนั้นในกรณีนี้ คุณสามารถคาดหวังค่าสุ่มระหว่าง0และ100ได้เวอร์ชันที่สามของ
Next()เมธอด จะระบุทั้งค่าต่ําสุดและสูงสุด ดังนั้นในกรณีนี้ คุณสามารถคาดหวังค่าแบบสุ่มระหว่าง50และ100ได้ปิดแผงเทอร์มินัล
คุณได้ตรวจสอบหัวข้อหลายหัวข้อในหน่วยนี้แล้ว นี่คือรายการด่วนของสิ่งที่คุณได้ครอบคลุม:
- คุณได้ตรวจสอบวิธีการใช้ค่าที่ส่งกลับของเมธอดแล้ว (เมื่อวิธีการ ให้ค่าที่ส่งกลับ)
- คุณได้ตรวจสอบว่าวิธีการสามารถใช้พารามิเตอร์ที่กําหนดเป็นชนิดข้อมูลเฉพาะได้อย่างไร
- คุณได้ตรวจสอบเวอร์ชันที่โอเวอร์โหลดของวิธีการบางอย่างที่มีพารามิเตอร์หรือชนิดพารามิเตอร์ที่แตกต่างกัน
ใช้ IntelliSense
Visual Studio Code มีคุณลักษณะ IntelliSense ที่ขับเคลื่อนโดยบริการภาษา ตัวอย่างเช่น บริการภาษา C# ให้การกรอกข้อมูลโค้ดอัจฉริยะโดยยึดตามตรรกะภาษาและการวิเคราะห์ของซอร์สโค้ดของคุณ ในส่วนนี้ คุณจะใช้ IntelliSense เพื่อช่วยให้คุณใช้ Random.Next() วิธีการ
เนื่องจาก IntelliSense ถูกเปิดเผยภายในตัวแก้ไขโค้ด คุณสามารถเรียนรู้มากมายเกี่ยวกับวิธีโดยไม่ต้องออกจากสภาพแวดล้อมการเข้ารหัส IntelliSense ให้คําแนะนําและข้อมูลอ้างอิงในหน้าต่างป็อปอัพภายใต้ตําแหน่งเคอร์เซอร์เมื่อคุณป้อนรหัสของคุณ เมื่อคุณพิมพ์โค้ด หน้าต่างป็อปอัพ IntelliSense จะเปลี่ยนแปลงเนื้อหาโดยขึ้นอยู่กับบริบท
ตัวอย่างเช่น เมื่อคุณป้อนคําว่า dice อย่างช้าๆ IntelliSense จะแสดงคําสําคัญ C# ตัวระบุทั้งหมด (หรือแทนที่จะเป็นชื่อตัวแปรในรหัส) และคลาสในไลบรารีคลาสของ .NET ที่ตรงกับตัวอักษรที่ถูกป้อน คุณลักษณะการเติมข้อความอัตโนมัติของตัวแก้ไขโค้ดสามารถใช้เพื่อเสร็จสิ้นการพิมพ์คําที่เป็นรายการที่ตรงกันที่สุดในป๊อปอัป IntelliSense ลองใช้เลย
ตรวจสอบให้แน่ใจว่า คุณมีไฟล์ Program.cs เปิดอยู่ในรหัส Visual Studio
แอปของคุณควรมีโค้ดต่อไปนี้:
Random dice = new Random(); int roll1 = dice.Next(); int roll2 = dice.Next(101); int roll3 = dice.Next(50, 101); Console.WriteLine($"First roll: {roll1}"); Console.WriteLine($"Second roll: {roll2}"); Console.WriteLine($"Third roll: {roll3}");ที่ด้านล่างของไฟล์โค้ดของคุณเพื่อทดลองกับ IntelliSense ให้ป้อนตัวอักษร
diช้า ๆ จากนั้นcโปรดสังเกตหน้าต่างป็อปอัพ IntelliSense ที่ปรากฏขึ้นเมื่อคุณเริ่มพิมพ์
เมื่อ IntelliSense ปรากฏขึ้น รายการของคําแนะนําจะปรากฏขึ้น ตามเวลาที่คุณป้อน
dicตัวระบุdiceควรอยู่ที่ด้านบนของรายการกดปุ่ม Tab บนแป้นพิมพ์
โปรดสังเกตว่าทั้งคํา
diceจะเสร็จสมบูรณ์ในตัวแก้ไข คุณสามารถใช้แป้นลูกศรขึ้นและลงเพื่อเปลี่ยนการเลือกก่อนที่จะกดแป้น Tabหมายเหตุ
ถ้าหน้าต่าง IntelliSense หายไป คุณสามารถเลือกหน้าต่างนั้นได้โดยใช้แป้น
backspaceบนแป้นพิมพ์ จากนั้นใส่สัญลักษณ์สุดท้ายอีกครั้งเพื่อเปิด IntelliSenseหากต้องการระบุตัวดําเนินการเข้าถึงสมาชิก ให้ป้อน
.อักขระโปรดสังเกตว่าป็อปอัพ IntelliSense จะปรากฏขึ้นอีกครั้งเมื่อคุณป้อน
.และแสดงรายการที่ไม่ได้การกรองของวิธีการทั้งหมด (และสมาชิกคนอื่น ๆ ของชั้นเรียน) ที่พร้อมใช้งานป้อน N
รายการจะถูกกรอง และคํา
Nextควรเป็นการเลือกด้านบนเมื่อต้องการเติมคําทั้งหมดโดยอัตโนมัติ ให้กดแป้น Tab
เมื่อต้องการระบุตัวดําเนินการเรียกใช้วิธีการ ให้ป้อน (
โปรดสังเกตว่าวงเล็บปิดจะถูกเพิ่มให้คุณโดยอัตโนมัติ
ตัวดําเนินการเรียกใช้เมธอด คือชุดวงเล็บที่อยู่ทางด้านขวาของชื่อเมธอด ส่วนนี้ของคําสั่งเรียก คือที่ที่คุณระบุอาร์กิวเมนต์ที่จะถูกส่งผ่านไปยังเมธอด จําเป็นต้องมีตัวดําเนินการเรียกใช้เมธอด เมื่อเรียกใช้เมธอด
โปรดสังเกตว่าป็อปอัพ IntelliSense ตอนนี้จะแสดงข้อมูลโดยละเอียดเกี่ยวกับ
Random.Next()เมธอดใช้เวลาสักครู่ในการตรวจสอบป๊อปอัป IntelliSense สําหรับ
Random.Next()วิธีการหมายเหตุ
ถ้าป๊อปอัป IntelliSense ปิดก่อนที่คุณจะมีโอกาสตรวจสอบ ให้ลบตัวดําเนินการ
()เรียกใช้ แล้วป้อน ( เพื่อแสดงป็อปอัพ IntelliSenseโปรดสังเกตว่าหน้าต่างป็อปอัพประกอบด้วยสามส่วน ส่วนหนึ่งอยู่ทางด้านซ้ายและสองทางด้านขวา
ทางด้านขวา คุณควรเห็น
int Random.Next()ในส่วนด้านบน และReturns a non-negative random integer.ในส่วนด้านล่างintกําหนดชนิดผลลัพธ์สําหรับวิธีการ กล่าวอีกนัยหนึ่งเมื่อมีการดําเนินการวิธีการ เวอร์ชันนี้จะส่งคืนค่าชนิดintทางด้านซ้ายของป็อปอัพ IntelliSense ป็อปอัพจะแสดง
1/3ระบุว่า
1/3คุณกําลังดูลายเซ็นของสามวิธีแรกสําหรับNext()วิธีการ โปรดสังเกตว่าลายเซ็นของเมธอดนี้ช่วยให้วิธีการ ทํางานกับไม่มีพารามิเตอร์ (ไม่มีอาร์กิวเมนต์ที่ส่งผ่านไปยังเมธอด ในคําสั่งการเรียก)โปรดสังเกตว่ายังมีลูกศรขนาดเล็กด้านบนและด้านล่างของ
1/3เมื่อต้องการตรวจสอบวิธีการรุ่นโอเวอร์โหลดครั้งที่สอง ให้กดแป้นลูกศรลงบนแป้นพิมพ์
โปรดสังเกตว่าคุณสามารถใช้ปุ่มลูกศรขึ้นและลงเพื่อนําทางระหว่างเวอร์ชันโอเวอร์โหลดต่างๆ เมื่อคุณทําเช่นนั้น คุณจะเห็น
1/3,2/3และ3/3ปรากฏทางด้านซ้ายของป็อปอัพ IntelliSense และคําอธิบายที่เป็นประโยชน์ทางด้านขวาใช้เวลาสักครู่เพื่อตรวจสอบแต่ละเวอร์ชันที่โอเวอร์โหลดสําหรับ
Random.Next()วิธีการเวอร์ชันที่สองของวิธีการ
2/3โอเวอร์โหลด จะแจ้งให้คุณทราบว่าNext()วิธีการ สามารถยอมรับพารามิเตอร์int maxValueได้ คําอธิบายจะบอกคุณว่าmaxValueผูกด้านบนแบบพิเศษสําหรับตัวเลขที่คุณต้องการNext()สร้างวิธีการ แบบไม่รวมระบุว่าตัวเลขที่ส่งกลับจะน้อยกว่า maxValue ดังนั้นเมื่อคุณระบุdice.Next(1,7);ม้วนลูกเต๋าสูงสุดจะเป็น 6 โปรดสังเกตว่าข้อความที่ด้านล่างของส่วนได้รับการอัปเดตเป็น:Returns a non-negative random integer that is less than the specified maximum.เวอร์ชันที่สามของวิธีการ
3/3จะแจ้งให้คุณทราบว่าNext()วิธีการ สามารถยอมรับได้ทั้งint minValueและint maxValueเป็นพารามิเตอร์ พารามิเตอร์minValueใหม่ เป็นขอบเขตที่ต่ํากว่าสําหรับตัวเลขที่คุณต้องการNext()สร้างวิธีการ เนื่องจากขอบเขตด้านล่างเป็นแบบรวม แทนที่จะเป็นค่าเฉพาะ ค่าที่ส่งกลับอาจเท่ากับminValueข้อความที่ด้านล่างระบุไว้ในขณะนี้:Returns a random integer that is within a specified range.ในกรณีนี้ IntelliSense ให้ข้อมูลทั้งหมดที่คุณจําเป็นต้องเลือกโอเวอร์โหลดที่เหมาะสม รวมถึงคําอธิบายโดยละเอียดของ
maxValueและminValueอย่างไรก็ตาม คุณอาจพบสถานการณ์ที่คุณจําเป็นต้องดูเอกสารของวิธีการ
ใช้ learn.microsoft.com สําหรับข้อมูลเกี่ยวกับวิธีการโอเวอร์โหลด
วิธีที่สองในการเรียนรู้เกี่ยวกับเวอร์ชันที่โอเวอร์โหลดของวิธีการคือการดูเอกสารสําหรับวิธีการ เอกสารประกอบจะช่วยให้คุณเข้าใจอย่างถ่ี่ถี่ถ่วนว่าพารามิเตอร์แต่ละตัวมีไว้เพื่ออะไร
ในการเริ่มต้น ให้เปิดเว็บเบราว์เซอร์และโปรแกรมค้นหาที่คุณต้องการ
ทําการค้นหา สําหรับ C# Random.Next()
การค้นหาของคุณควรมีชื่อคลาสและชื่อเมธอด คุณอาจต้องการใส่คํา
C#เพื่อให้แน่ใจว่าจะไม่ได้รับผลลัพธ์สําหรับภาษาการเขียนโปรแกรมอื่นๆ โดยไม่ได้ตั้งใจเลือกผลลัพธ์การค้นหาสูงสุดที่มี URL ที่ขึ้นต้นด้วย
https://learn.microsoft.comหนึ่งในผลลัพธ์การค้นหายอดนิยมควรนําไปยัง URL ที่เริ่มต้นด้วย
https://learn.microsoft.comในกรณีนี้ ชื่อของลิงก์ควรปรากฏเป็นRandom.Next Methodนี่คือลิงก์ในกรณีที่คุณมีปัญหาในการค้นหาโดยใช้เครื่องมือค้นหา:
เปิดลิงก์สําหรับ C# Random.Next()
สแกนผ่านเอกสารได้อย่างรวดเร็ว
เลื่อนลงไปตามเนื้อหาของหน้าเพื่อดูตัวอย่างรหัสต่าง ๆ โปรดสังเกตว่าคุณสามารถเรียกใช้ตัวอย่างในหน้าต่างเบราว์เซอร์
เอกสาร learn.microsoft.com เป็นไปตามรูปแบบมาตรฐานสําหรับแต่ละคลาสและเมธอดในไลบรารีคลาส .NET
ใกล้กับด้านบนของเว็บเพจ ค้นหาส่วนที่มีชื่อว่า โอเวอร์โหลด
โปรดสังเกตว่ามีวิธีแสดงเวอร์ชันโอเวอร์โหลดสามเวอร์ชัน เวอร์ชันที่โอเวอร์โหลดแต่ละเวอร์ชันที่จะแสดงประกอบด้วยการเชื่อมโยงหลายมิติไปยังตําแหน่งที่ตั้งที่อยู่ด้านล่างของเพจ
เมื่อต้องการนําทาง "ภายในหน้า" ไปยังคําอธิบายของเวอร์ชันที่โอเวอร์โหลดรุ่นที่สอง ให้เลือก ถัดไป(Int32)
เอกสารประกอบสําหรับแต่ละเวอร์ชันของวิธีการ ประกอบด้วย:
- คําอธิบายย่อเกี่ยวกับฟังก์ชันของวิธีการ
- ข้อกําหนดของเมธอด
- พารามิเตอร์ที่วิธีการยอมรับ
- ค่าผลลัพธ์
- ข้อยกเว้นที่สามารถเกิดขึ้นได้
- ตัวอย่างของวิธีการ ที่ใช้งานอยู่
- หมายเหตุอื่นๆ เกี่ยวกับวิธีการ
ใช้เวลาสักครู่เพื่อตรวจสอบส่วนพารามิเตอร์
ในส่วน พารามิเตอร์ คุณสามารถอ่านว่า
maxValueพารามิเตอร์คือ "ขอบด้านบนแบบพิเศษของตัวเลขสุ่มที่จะสร้าง" ขอบสูงสุดแบบพิเศษหมายความว่าถ้าคุณต้องการตัวเลขที่มีขนาดใหญ่กว่า10คุณต้องส่งผ่านค่า11คุณยังสามารถอ่านในบรรทัดถัดไป: "
maxValueต้องมากกว่าหรือเท่ากับ 0" จะเกิดอะไรขึ้นถ้าคุณเพิกเฉยต่อคําสั่งนี้ คุณสามารถดูได้ในส่วน ข้อยกเว้น ที่เมธอด จะส่งกลับArgumentOutOfRangeExceptionเมื่อmaxValueน้อยกว่า 0หมายเหตุ
เนื้อหาที่ learn.microsoft.com เป็น "แหล่งที่มาของความจริง" สําหรับไลบรารีคลาส .NET สิ่งสําคัญคือต้องใช้เวลาในการอ่านเอกสารเพื่อทําความเข้าใจวิธีการที่วิธีการกําหนดไว้จะทํางานอย่างไร
สรุป
- วิธีการอาจไม่ยอมรับพารามิเตอร์หรือพารามิเตอร์หลายตัว ทั้งนี้ขึ้นอยู่กับวิธีการออกแบบและการใช้งานพารามิเตอร์ เมื่อส่งผ่านหลายพารามิเตอร์ ให้แยกพารามิเตอร์เหล่านั้นด้วย
,สัญลักษณ์ - วิธีการอาจส่งกลับค่าเมื่องานเสร็จสมบูรณ์ หรืออาจไม่มีสิ่งใดส่งกลับ (โมฆะ)
- วิธีการโอเวอร์โหลดสนับสนุนการใช้งานหลายวิธี โดยแต่ละวิธีมีลายเซ็นของเมธอดที่ไม่ซ้ํากัน (จํานวนพารามิเตอร์และชนิดข้อมูลของแต่ละพารามิเตอร์)
- IntelliSense สามารถช่วยให้เขียนโค้ดได้อย่างรวดเร็วยิ่งขึ้น ซึ่งมีการอ้างอิงด่วนไปยังวิธีการ ค่าที่ส่งกลับ เวอร์ชันที่โอเวอร์โหลด และชนิดของพารามิเตอร์
- learn.microsoft.com คือ "แหล่งที่มาของความจริง" เมื่อคุณต้องการเรียนรู้วิธีการทํางานของไลบรารีคลาส .NET
ตรวจสอบความรู้ของคุณ
คำติชม
หน้านี้มีประโยชน์หรือไม่
ไม่
ต้องการความช่วยเหลือในหัวข้อนี้หรือไม่
ต้องการลองใช้ Ask Learn เพื่อทําให้ชัดเจนหรือแนะนําคุณผ่านหัวข้อนี้หรือไม่