Способ преобразования этого в LINQ conditionals

Мне нужно выбрать или удалить номера, которые находятся в списке (0-24)

            if (numberList.Contains(int.Parse(c[0])))
            {
                numberList.Remove(int.Parse(c[0]));
            }

            if (int.Parse(c[1] + (a.Info[i].Dydis / a.Greitis)) >= 60)
            {
                int v = int.Parse(c[0]) + 1;
                if (numberList.Contains(v)) 
                    numberList.Remove(v);
            }

            if ((rez(a.Info[i].Dydis, a.Greitis)) > 1)
            {
                numberList.Add(99);
            }

        }
        if (numberList.Count != 0)
        {
            Ats k = new Ats(a.Vardas, a.Data, numberList);
            nera.Add(k);
        }

Я пытаюсь что-то вроде этого, но это не работает :

        for (int i = 0; i < a.LCount; i++)
        {
            string[] c = a.Info[i].Laikas.Split(':'); 
            var q = from d in numberList
                    where (numberList.Contains(int.Parse(c[0])))
                    select new
                    {
                        Number = int.Parse(c[0]),
                    };

Как я мог бы преобразовать эту вещь в LINQ?

2 ответа

  1. Что-то вроде этого с помощью лямбда-выражения:

    numberList.RemoveAll( item => exlist.Contains(item));
    

    exlist будет содержать 0-24 целых числа. Или,

    numberList.RemoveAll(item => item  >= 0 && item <= 24);