باستخدام LINQ، يمكنك تحقيق نفس النتيجة في سطر واحد باستخدام الطريقة ToDictionary
بمساعدة المعامل الإضافي للفهرس. في الشفرة التالية، سأوضح لك كيفية استخدامها بشكل صحيح:
csharpusing System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<string> sList = new List<string>() { "a", "b", "c" };
// Utilizing LINQ's ToDictionary method to achieve the same result
Dictionary<int, string> dResult = sList
.Select((value, index) => new { Index = index, Value = value })
.ToDictionary(item => item.Index, item => item.Value);
// Printing the result
foreach (var kvp in dResult)
{
Console.WriteLine($"({kvp.Key},{kvp.Value})");
}
}
}
في هذا الشفرة، نستخدم Select
لمطابقة كل عنصر في القائمة مع فهرسه، ثم نستخدم ToDictionary
لتحويل النتائج إلى قاموس مع مفاتيح الفهرس وقيم العناصر. هذا يوفر طريقة أكثر أناقة وإتقاناً لتحقيق نفس الغرض من الشفرة الأصلية.
المزيد من المعلومات
باستخدام هذا النهج، يمكنك تحقيق نفس النتيجة بشكل أنيق وفعال، مما يجعل الشفرة أكثر قراءة وصيانة. من خلال استخدام تقنية LINQ، يتم تحويل العملية الطويلة من إنشاء القاموس في حلقة for
إلى سطر واحد يسهل فهمه وصيانته.
الآن، دعنا نلقي نظرة على الشفرة مرة أخرى:
csharpusing System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// تعريف القائمة
List<string> sList = new List<string>() { "a", "b", "c" };
// استخدام LINQ لتحويل القائمة إلى قاموس مع مفاتيح الفهرس وقيم العناصر
Dictionary<int, string> dResult = sList
.Select((value, index) => new { Index = index, Value = value })
.ToDictionary(item => item.Index, item => item.Value);
// طباعة النتيجة
foreach (var kvp in dResult)
{
Console.WriteLine($"({kvp.Key},{kvp.Value})");
}
}
}
يجب أن تكون هذه الطريقة أسهل للفهم والصيانة، خاصةً عندما يتعلق الأمر بمعالجة مجموعات البيانات الكبيرة أو عناصر القائمة غير المعروفة المسبقًا.
باستخدام LINQ، لديك القدرة على تنفيذ العديد من العمليات البيانية على البيانات بشكل مباشر وفعال، مما يسهل عليك كتابة الشفرة وتجنب الكثير من الشفرات المعقدة والطويلة.