2,854 questions
You could use is. Here is a sample example
public interface IItemType
{
int x { get; set; }
}
public class OldItem : IItemType
{
public int x { get; set; }
}
public class NewItem : IItemType
{
public int x { get; set; }
}
for(int i=0; i<10;i++)
{
if(i % 2 ==0)
{
list.Add(new OldItem { x = i });
}
else
{
list.Add(new NewItem { x = i });
}
}
var newItems = list.Where(itm => itm is NewItem).ToList();
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/is