How to remove values from a list that does not exist in another list with C#

1 Answer

0 votes
using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApplication_C_Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> list1 = new List<int>();
            List<int> list2 = new List<int>();

            for (int i = 0; i < 12; i++)
                list1.Add(i);

            for (int i = 2; i < 14; i+=2)
                list2.Add(i);

            Console.WriteLine("list1: " + String.Join(" ", list1));
            Console.WriteLine("list2: " + String.Join(" ", list2));

            list1.RemoveAll(y => !list2.Any(x => x == y));

            Console.WriteLine("list1: " + String.Join(" ", list1));
            Console.WriteLine("list2: " + String.Join(" ", list2));
        }
    }
}


/*
run:

list1: 0 1 2 3 4 5 6 7 8 9 10 11
list2: 2 4 6 8 10 12
list1: 2 4 6 8 10
list2: 2 4 6 8 10 12

*/

 



answered Jul 30, 2018 by avibootz
...