• 0

كيف أقارن 2 Lists لحذف العناصر غير المتشابهة بينهما في C#؟

أريد مقارنة 2 Lists من النوع String وحذف العناصر التي لا تنتمي لكلاهما وتخزين العناصر المتشابهة في List نهائية كيف يمكنني فعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يمكنك استخدام الدالة Contains والتي تُرجع قيمة boolean وتحدد فيما إذا كان العنصر ينتمي إلى السلسلة أم لا.

مثال ليكن لدينا 2 List في كل منهما مجموعة عناصر من بينها عناصر مشتركة لكلا المجموعتين:

  • List1: {"AAA","BBB","CCC"}
  • List2: {"BBB","CCC","DDD"}
 List<String> lst1 = new List<string> {"AAA","BBB","CCC" };
 List<String> lst2 = new List<string> { "BBB","CCC","DDD"};

يوجد قيمتين مشتركتين هما "BBB" و "CCC"

static void Main(string[] args)
        {
            List<String> lst1 = new List<string> { "AAA", "BBB", "CCC" };
            List<String> lst2 = new List<string> { "BBB", "CCC", "DDD" };

            List<String> finalLst = new List<string>();

            for (int i = 0; i < lst1.Count; i++)
            {
                if (!lst2.Contains(lst1[i]))
                {
                    finalLst.Add(lst1[i]);
                   // Console.WriteLine(finalLst);
                }
                else
                {
                    lst2.Remove(lst1[i]);
                }
            }
            finalLst.AddRange(lst2);

            for (int j = 0; j < finalLst.Count; j++)
            {
                Console.WriteLine("\t" +finalLst[j]);
            }
                Console.ReadLine();
        }

قمت بتطبيق حلقة التكرار على القائمة الأولى لإيجاد العناصر التي لا تنتمي للقائمة الثانية وإضافتها للقائمة الأخيرة finalLst، بعد ذلك قمت بحذف جميع العناصر التي تشترك مع القائمة الأولى lst1 من القائمة الثانية lst2.

ملاحظة: الدالة addRange() تُضيف القائمة كاملة؛ أي تقوم بإضافة كامل الـList إلى List أخرى.

النتيجة:

contains.thumb.png.aacf73b3526042e0032f3

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن