LINQ Concat Method
LINQ Concat Method
دالة Concat() في LINQ تُستخدم لدمج تسلسلين (Lists, Arrays...) في تسلسل واحد.
العناصر من التسلسل الثاني تُضاف في نهاية الأول، **دون إزالة التكرارات**.
✅ مثال باستخدام Method Syntax:
List<int> list1 = new List<int>() { 1, 2, 3, 4, 5 };
List<int> list2 = new List<int>() { 3, 5, 6, 7 };
var result = list1.Concat(list2);
foreach (var num in result)
{
Console.Write(num + " ");
}
📌 النتيجة: 1 2 3 4 5 3 5 6 7
✅ مثال باستخدام Query Syntax:
var result = (from n in list1
select n).Concat(list2);
foreach (var num in result)
{
Console.Write(num + " ");
}
💡 خصائص مهمة:
- لا تزيل التكرارات: العناصر المتكررة تبقى في النتيجة.
- تحافظ على الترتيب: عناصر list1 أولًا، ثم list2.
- تتطلب نفس النوع: لازم يكون النوع متطابق بين القائمتين.
- تنفيذ مؤجل: النتيجة لا تُنفذ فورًا إلا عند التكرار (foreach).
🔁 مقارنة مع Union:
Concat()تُبقي على كل العناصر بما فيها المكررة.Union()تُزيل العناصر المكررة وتُرجع العناصر الفريدة فقط.
🛠️ متى تستخدم Concat؟
- لما تحتاج دمج قائمتين أو أكثر مع الحفاظ على التكرارات.
- لما يهمك الترتيب الأصلي للعناصر.
تعليقات
إرسال تعليق