مراجعة حل لدمج قيم صفيف السلسلة كسلاسل وكتحدي أعداد صحيحة

مكتمل

التعليمات البرمجية التالية هي أحد الحلول الممكنة للتحدي من الوحدة السابقة.

ملاحظه

تم تصميم نماذج التعليمات البرمجية في هذا التمرين استنادا إلى إعدادات الثقافة en-US، واستخدام نقطة (.) كفاصل عشري. قد يؤدي إنشاء التعليمات البرمجية وتشغيلها باستخدام إعداد ثقافة يستخدم فواصل عشرية مختلفة (مثل فاصلة ,) إلى نتائج أو أخطاء غير متوقعة. لإصلاح هذه المشكلة، استبدل فواصل الفاصلة العشرية في نماذج التعليمات البرمجية بالفاصل العشري المحلي (مثل ,). بدلا من ذلك، لتشغيل برنامج باستخدام إعداد ثقافة en-US، أضف التعليمات البرمجية التالية إلى أعلى البرنامج: using System.Globalization; وإضافة أي عبارات using أخرى CultureInfo.CurrentCulture = new CultureInfo("en-US");.

string[] values = { "12.3", "45", "ABC", "11", "DEF" };

decimal total = 0m;
string message = "";

foreach (var value in values)
{
    decimal number; // stores the TryParse "out" value
    if (decimal.TryParse(value, out number))
    {
        total += number;
    } else
    {
        message += value;
    }
}

Console.WriteLine($"Message: {message}");
Console.WriteLine($"Total: {total}");

هذه التعليمة البرمجية هي مجرد "حل واحد ممكن" لأنه من المحتمل أن يكون هناك عدة طرق لحل هذا التحدي. يعتمد الحل المقترح على TryParse()، ولكن من الممكن أن يكون لديك نهج آخر يعمل بشكل جيد على قدم المساواة. ما عليك سوى التأكد من تطابق نتيجتك مع الإخراج التالي:

Message: ABCDEF
Total: 68.3

إذا كنت ناجحا، تهانينا!

مهم

إذا واجهت مشكلة في إكمال هذا التحدي، فربما يجب عليك مراجعة الوحدات السابقة قبل المتابعة.