إذا كنت تنشئ تطبيقًا في C # ، فستعتاد على استدعاء الوظائف لإرجاع قيم معينة. في بعض الأحيان ، قد تكون هناك حالات قد تحتاج فيها إلى إرجاع قيم متعددة من دالة واحدة.
هناك طرق مختلفة يمكنك من خلالها تحقيق ذلك. أحدهما هو إرجاع عدة قيم داخل مصفوفة واحدة. يمكنك أيضًا تعيين قيم لمتغيرات عالمية متعددة ، من داخل الوظيفة.
اعتمادًا على منطق العمل أو متطلبات النطاق أو الاصطلاحات ، هناك طريقة أخرى لتحقيق ذلك وهي استخدام المعلمات.
ما هي المعلمة الخارجة؟
الطريقة القياسية لإرجاع قيمة من دالة هي استخدام الكلمة الأساسية "return". إذا لم تكن معتادًا على ماهية الوظيفة ، فيمكنك قراءة المزيد عنها وظائف في البرمجة. يمكنك أيضا استكشاف أخرى مبادئ البرمجة الأساسية.
ثابتةفارغ عملية حسابية()
{
مزدوج رقم = 30;
يعود رقم؛
}
هناك طريقة أخرى لاسترداد قيمة من دالة وهي استخدام معامل "out" بدلاً من ذلك. يمكنك التصريح عن معامل خارج في توقيع الطريقة. يمكنك بعد ذلك استخدام الكلمة الأساسية "out" للإشارة إلى أن المعلمة عبارة عن معلمة خارج.
بدلاً من استخدام الكلمة الأساسية return ، يجب عليك دائمًا تعيين قيمة للمعامل out.
ثابتةفارغعملية حسابية(خارج مزدوج رقم)
{
العدد = 30 ؛
}
عند استدعاء طريقة الحساب () ، مرر متغيرًا لمعامل الإخراج. سيحصل البرنامج على قيمة المتغير "number" داخل دالة Calculation () ، ويخصصها للمتغير المدخل. في هذه الحالة ، سيتم إخراج القيمة "30".
مزدوج رقم = 0;
// يحصل على قيمة المتغير "number" داخل دالة Calculation () ، وهي 30.
حساب (خارج العدد) ؛
// يطبع الرقم 30
وحدة التحكم.WriteLine(رقم);
كيفية إنشاء وظيفة بمعامل خارج
قم بإنشاء وظيفة داخل تطبيق وحدة تحكم C # جديد ، وقم بإعطاء المعلمة الكلمة الأساسية "out".
- افتح Visual Studio على جهاز الكمبيوتر الخاص بك ، وانقر فوق أنشئ مشروعًا جديدًا.
- يختار استمارة القنصلية، وانقر فوق التالي.
- قم بتسمية مشروعك ، وحدد موقعًا لتخزين ملفات Visual Studio الخاصة بك. انقر فوق التالي.
- انقر فوق يخلق. سيقوم Visual Studio بإنشاء رمز البداية لتطبيق وحدة تحكم بسيط.
- أسفل الدالة Main () ، قم بإنشاء دالة جديدة تسمى CalculateTaxSalary (). الهدف من هذه الوظيفة هو خصم الضريبة من أجر الشخص لحساب الراتب الذي يحصل عليه من المنزل.
ثابتةمزدوجCalculateTaxS الراتب(int الراتب خارج مزدوج المبلغ)
{
} - داخل الوظيفة ، أضف حساب الراتب المأخوذ إلى المنزل بعد الضريبة. إرجاع النتيجة.
ثابتةمزدوجCalculateTaxS الراتب(int مرتب)
{
مقدار ثابتمزدوج taxRate = 0.3;
مزدوج takeHomeSalary = الراتب - (الراتب * معدل الضريبة) ؛
يعود takeHome راتب؛
} - قم بإزالة الإخراج الافتراضي "Hello World" في الوظيفة الرئيسية. بدلاً من ذلك ، قم باستدعاء دالة CalculateTaxSalary (). اطبع النتيجة التي تم إرجاعها من الوظيفة إلى وحدة التحكم.
ثابتةفارغ رئيسي (سلسلة [] args)
{
مزدوج takeHomeSalary = CalculateTaxSalary (100000);
وحدة التحكم. WriteLine ($ "الراتب المأخوذ من المنزل من $ 100,000يكون $ {takeHomeSalary} ")؛
} - قم بتعديل دالة CalculateTaxSalary () بحيث تحتاج أيضًا إلى إرجاع قيمة ثانية. سوف تحتوي القيمة الثانية على المبلغ الخاضع للضريبة. نظرًا لأنك تستخدم بالفعل تعليمة الإرجاع لإرجاع قيمة ، استخدم معلمة out بدلاً من ذلك. قم باضافة معامل taxedAmount out لتوقيع الطريقة.
ثابتةمزدوجCalculateTaxS الراتب(int الراتب خارج مزدوج المبلغ)
- داخل دالة CalculateTaxSalary () ، احسب مقدار الضريبة المطبقة على الراتب. قم بتعيين النتيجة إلى متغير taxedAmount.
ثابتةمزدوجCalculateTaxS الراتب(int الراتب خارج مزدوج المبلغ)
{
مقدار ثابتمزدوج taxRate = 0.3;
taxedAmount = الراتب * taxRate ؛
مزدوج takeHomeSalary = راتب - taxedAmount ؛
يعود takeHome راتب؛
}
كيفية إرجاع قيمة من معلمة Out
لاسترداد قيمة معلمة out ، قم باستدعاء الوظيفة ، وتخزين قيمة المعلمة out في متغير محلي.
- قم بإزالة الكود الموجود من الوظيفة الرئيسية (). إنشاء متغير جديد لتخزين المبلغ الخاضع للضريبة.
مزدوج taxedAmount = 0;
- قم باستدعاء دالة CalculateTaxSalary (). ستعيد الوظيفة الراتب المأخوذ باستخدام بيان الإرجاع. ستقوم الوظيفة أيضًا باسترداد القيمة من متغير taxedAmount ، باستخدام المعلمة out. سيتم تخزين القيمة في متغير taxedAmount داخل الوظيفة الرئيسية.
مزدوج takeHomeSalary = CalculateTaxSalary (100000، من taxedAmount) ؛
وحدة التحكم. WriteLine ($ "الراتب المأخوذ من المنزل من $ 100,000يكون $ {takeHomeSalary}. المبلغ الذي تم فرض ضريبة عليه هو $ {taxedAmount}. ")؛
كيفية استخدام معلمات متعددة
لاستخدام معلمات متعددة للخارج ، أنشئ وظيفة وأضف الكلمة الأساسية إلى جميع المعلمات التي ترغب في إرجاع قيمة منها.
- قم بإنشاء وظيفة جديدة تسمى MultipleValues (). أضف ثلاثة معلمات للخارج وقم بتعيين قيمة لكل منها.
ثابتةفارغقيم متعددة(خارج int أ ، خارج int ب ، خارج int ج)
{
أ = 10 ؛
ب = 20 ؛
ج = 30 ؛
} - في الدالة Main () ، أنشئ متغيرات محلية لكل من القيم الثلاث.
int أ = 0;
int ب = 0;
int ج = 0; - قم باستدعاء الدالة MultipleValues () لإرجاع القيم الثلاث من خلال معلمات الإخراج.
قيم متعددة (خارج أ ، خارج ب ، خارج ج) ؛
وحدة التحكم. WriteLine ($"أ: {أ} ، ب: {ب} ، ج: {ج}");
كيفية تشغيل تطبيق وحدة التحكم
عند تشغيل التطبيق ، سيتم فتح نافذة موجه الأوامر لتظهر لك أي بيانات مطبوعة في التطبيق الخاص بك.
- في الجزء العلوي من تطبيق Visual Studio ، انقر فوق زر التشغيل الأخضر لبدء تطبيق وحدة التحكم.
- سيقوم Visual Studio بترجمة البرنامج وفتح موجه الأوامر. سيعرض موجه الأوامر النتائج التي تم إخراجها. يتضمن هذا القيم التي أرجعها الوظائف كمعلمات خارج.
استخدام معلمات الإخراج في وحدة تحكم تطبيق C #
في C # ، تتيح لك معلمات out إرجاع أكثر من قيمة من دالة. يمكنك التصريح عن معلمات متعددة في توقيع الطريقة وتعيين قيم لهذه المتغيرات داخل الوظيفة. عند استدعاء الوظيفة ، يمكنك استرداد القيم المخزنة في معلمات الإخراج هذه واستخدامها في أماكن أخرى من التطبيق.
إذا كنت تتعامل مع كائنات ومجموعات معقدة من البيانات ، فيمكنك أيضًا إرجاع كائنات بناءً على فئة. يمكنك استكشاف المزيد حول كيفية إنشاء واستخدام الفصول في C #.