الفروق بين تمرير الوسيطة على حسب القيمة و حسب المرجع

عند تمرير وسيطة واحدة أو أكثر إلى إجراء، كل وسيطة يطابق عنصر برمجة أساسية في استدعاء تعليمات برمجية. يمكنك تمرير اما قيمة العنصر من هذا المصدر، أو مرجع إليها. يُعرف باسم آلية التمرير .

التمرير بالقيمة

تمرير وسيطة حسب القيمة بتحديدVisual Basic) ByVal) كلمة أساسية للمعلمة المقابلة في تعريف إجراء. عند استخدام هذه الآلية تمرير Visual Basic نسخ قيمة البرمجة الأساسية للعنصر إلى متغير محلي في إجراء. ليس لدى التعليمات البرمجية للإجراء أي وصول إلى العنصر المصدر في استدعاء تعليمات برمجية.

التمرير بالمرجع

تمرير وسيطة حسب القيمة بتحديدByRef في (Visual Basic) كلمة أساسية للمعلمة المقابلة في تعريف إجراء. عند استخدام هذه الآلية تمرير Visual Basic يعطي إجراء مرجع مباشر إلى عنصر البرمجة الأساسية في استدعاء تعليمات برمجية.

نوع العنصر و آلية التمرير

خيار تمرير آلية غير نفس تصنيف الأساسية لنوع العنصر. تمرير القيمة أو مرجع يشير إلى ما Visual Basic يوفر إجراء تعليمات برمجية. نوع القيمة أو نوع المرجع يشير إلى كيفية تخزين عنصر برمجة في ذاكرة.

ومع ذلك، آلية التمرير و العنصر يتم نوع interrelated . قيمة نوع المرجع مؤشر إلى بيانات موجودة في مكان آخر في ذاكرة. ومعنى هذا أنه عند تمرير نوع المرجع بقيمة إجراء تعليمات برمجية يتضمن مؤشر إلى بيانات العنصر الأساسي بالرغم من أنه لا يمكن الوصول إلى العنصر المصدر نفسه. على سبيل المثال، إذا كان العنصر متغير صفيف، إجراء تعليمات برمجية لا يكون لديه حق الوصول إلى متغير نفسه ولكن يمكن الوصول إلى أعضاء الصفيف.

قدرة على التعديل

عند تمرير عنصر nonmodifiable كوسيطة إجراء يمكن عدم تعديله في تعليمات برمجية الاستدعاء ما إذا كان تم التمرير إليه ByVal أو ByRef.

للعنصر القابل للتعديل ، جدول التالي يلخص التفاعل بين عنصر آلية تمرير ونوعه.

نوع العنصر

تمرير ByVal

تمرير ByRef

نوع القيمة (يحتوي على قيمة فقط)

لا يمكن تغيير إجراء متغير أو على أحد أعضائها.

يمكن تغيير إجراء متغير وأعضاؤها.

نوع المرجع (يحتوي على مرجع إلى مثيل فئة أو بنية)

لا يمكن تغيير إجراء المتغير ولكن يمكن تغيير الأعضاء مثيل والذي يشير إليه.

لا يمكن تغيير إجراء المتغير ولكن يمكن تغيير أعضاء المثيل والذي يشير إليه.

راجع أيضًا:

المهام

كيفية القيام بما يلي: تمرير الوسيطات إلى إجراء

كيفية القيام بما يلي: تغيير قيمة وسيطة الإجراء

كيفية القيام بما يلي: يحمي وسيطة إجراء من تغييرات القيمة

كيفية القيام بما يلي: فرض على وسيطة ليتم تمريرها حسب القيمة

المبادئ

الـإجراءات في Visual Basic

معلمات إجراء و وسيطات

تمرير الوسائط بواسطة القيمة و بواسطة المرجع

الفروق بين الوسيطات القابلة للتعديل و الغير قابلة للتعديل

تمرير الوسائط حسب الموضع و حسب الاسم

موارد أخرى

تطبيق نوع البيانات