Exemplo n.º 1
0
        public static MultiSet <T> operator -(MultiSet <T> first, MultiSet <T> second)
        {
            first.NotNullReturnsList(first, out List <T> tempList1);
            second.NotNullReturnsList(second, out List <T> tempList2);
            var newSet = new MultiSet <T>(tempList1);

            foreach (var item in tempList2)
            {
                newSet.RemoveAll(item);
            }
            return(newSet);
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            char[] znaki = new char[] { 'a', 'a', 'a', 'b', 'c', 'c', 'd', 'e', 'e' };
            var    mz    = new MultiSet <char>(znaki);

            Console.WriteLine(mz.ToString());
            foreach (var x in mz)
            {
                Console.WriteLine(x);
            }
            //var tempintersect = new char[] { 'a', 'e','x' };
            //var tempMS = mz.SymmetricExceptWith(tempintersect);
            //Console.WriteLine("---");
            //foreach (var x in tempMS)
            //    Console.WriteLine(x);

            //var tempintersect = new char[] { 'a', 'b', 'c', 'd', 'e', 'x' };
            //Console.WriteLine(mz.IsProperSubsetOf(tempintersect));
            //char[] znaki1 = new char[] { 'a', 'a', 'a', 'b', 'c', 'c', 'd', 'e', 'e', 'x' };
            //Console.WriteLine(mz.MultiSetEquals(znaki1));
            //Console.WriteLine(mz.ToString());
            //char[] znakX = new char[] { 'x', 'X' };
            //var mz2 = new MultiSet<char>(znakX);
            //Console.WriteLine(mz2.ToString());
            ////Console.WriteLine(mz.MultiSetEquals(mz2));
            //var newMsPlus = mz2 + mz;
            //Console.WriteLine(newMsPlus.ToString());
            //char[] toMinus = new char[] { 'a', 'b','x' };
            //var mz3 = new MultiSet<char>(toMinus);
            //var newMsMinus = mz - mz3;
            //Console.WriteLine(newMsMinus);
            //var mz4 = mz * mz3;
            //Console.WriteLine(mz4);
            //mz.IntersectWith(mz3);
            //Console.WriteLine(mz);
            //char[] chars = new char[] { 'a', 'b', 'c', 'd', 'e' };
            //var ms = new MultiSet<char>(chars);
            //char[] chars2 = new char[] { 'a', 'b', 'x' };
            //var ms2 = new MultiSet<char>(chars2);
            //ms = ms.SymmetricExceptWith(ms2);
            //Console.WriteLine(ms);
        }
Exemplo n.º 3
0
 public static bool IsMultiSetReadonly(MultiSet <T> ms) => ms.IsReadOnly == true ? throw new NotSupportedException() : false;