Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

อะไรคือความแตกต่างระหว่าง pass by value และพารามิเตอร์อ้างอิงใน C #?


พารามิเตอร์อ้างอิง

พารามิเตอร์อ้างอิงคือการอ้างอิงถึงตำแหน่งหน่วยความจำของตัวแปร พารามิเตอร์อ้างอิงแสดงถึงตำแหน่งหน่วยความจำเดียวกันกับพารามิเตอร์จริงที่จัดหาให้กับเมธอด

เมื่อคุณส่งผ่านพารามิเตอร์โดยการอ้างอิง ซึ่งแตกต่างจากพารามิเตอร์ของค่า ตำแหน่งการจัดเก็บใหม่จะไม่ถูกสร้างขึ้นสำหรับพารามิเตอร์เหล่านี้

ส่งต่อความคุ้มค่า

นี่เป็นกลไกเริ่มต้นสำหรับการส่งพารามิเตอร์ไปยังเมธอด ในกลไกนี้ เมื่อมีการเรียกเมธอด ตำแหน่งการจัดเก็บใหม่จะถูกสร้างขึ้นสำหรับพารามิเตอร์แต่ละค่า

ค่าของพารามิเตอร์จริงจะถูกคัดลอกไป ดังนั้น การเปลี่ยนแปลงที่ทำกับพารามิเตอร์ภายในเมธอดจึงไม่มีผลต่ออาร์กิวเมนต์