using System.Collections.Generic;
public static void Main(string[] args)
List<CriteriaPicker> CriteriaPickers = new List<CriteriaPicker>
new CriteriaPicker() { Criteria = new BaseCriteria { IsActive = false } },
new CriteriaPicker() { Criteria = null },
List<CriteriaPicker> cp = null;
var fileCriterias = CriteriaPickers?.Select(x => (BaseCriteria)x?.Criteria).Where(x => (x?.IsActive ?? false) && !(x is ILinqCriteria)).ToList();
var linqCriterias = CriteriaPickers?.Select(x => (BaseCriteria)x?.Criteria).Where(x => x?.IsActive ?? false).OfType<ILinqCriteria>().ToList();
if (fileCriterias != null && !fileCriterias.Any() && !linqCriterias.Any())
Console.WriteLine("in if");
public class BaseCriteria : ILinqCriteria
public bool IsActive {get;set;}
public class CriteriaPicker
public BaseCriteria Criteria {get;set;}
public interface ILinqCriteria