Avatar ·

كيفية فرز القاموس (Dictionary) حسب القيمة في C#؟

مرحباً بالجميع! أنا بدأت لتوي في تعلم C# وواجهت مشكلة: لدي قاموس `Dictionary` حيث المفتاح هو اسم الطالب والقيمة هي درجته في الامتحان. أحتاج إلى عرض الطلاب بترتيب تصاعدي للدرجات، لكنني لا أفهم كيفية القيام بذلك. إليك مثال على الكود الخاص بي: ```csharp Dictionary scores = new Dictionary { { "Alice", 85 }, { "Bob", 92 }, { "Charlie", 78 }, { "Diana", 95 } }; // كيف يمكن فرز هذا القاموس حسب القيم (الدرجات)؟ foreach (var pair in scores) { Console.WriteLine($"{pair.Key}: {pair.Value}"); } ``` أعلم أن `Dictionary` بحد ذاته لا يدعم الفرز، لأنه جدول تجزئة (hash table). لكنني أحتاج إلى الحصول على قائمة مرتبة من أزواج "مفتاح-قيمة" بترتيب تصاعدي للقيمة. حاولت استخدام `OrderBy` لكني أحصل على أخطاء. من فضلكم، أخبروني كيف أفعل ذلك بشكل صحيح؟ يُفضل مع مثال كود. شكراً مسبقاً! <<>>

الحل باستخدام LIN