ایجاد کردن operator جمع و منها برای لیستها (List)

چهارشنبه 15 مرداد 1399

ممکن است بارها خواسته باشید دولیست را با هم جمع یا از هم کم کنید بهترین راه override کردن operator + و - است

using System.Linq;

namespace System.Collections.Generic
{
    public  class MyList<T> : List<T>
    {
        public MyList() : base()
        {
            
        }
        public MyList(IEnumerable<T> source) : base(source)
        {
            
        }
        public static MyList<T> operator +(MyList<T> list1, MyList<T> list2)
        {
            list1.AddRange(list2);
            var tmp = list1.Distinct();
            MyList<T> tmpresult = new MyList<T>(tmp);
            return tmpresult;
        }
        public static MyList<T> operator -(MyList<T> list1, MyList<T> list2)
        {
            MyList<T> tmpresult = new MyList<T>();
            foreach (var i in list1)
            {
                if (!list2.Contains(i))
                    tmpresult.Add(i);
            }
            return tmpresult;
        }
    }
}

reza_beh

نویسنده 1 مقاله در برنامه نویسان
  • C#.net
  • 1k بازدید
  • 0 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

تاکنون هیچ کاربری از این پست تشکر نکرده است

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید