class Animal { }
class Tiger : Animal { }
class Lion : Animal { }
Добавление некоторых животных (львов и тигров, полученных из родительского класса Animal
) в список животных.
class Program
{
static void Main(string[] args)
{
List<Animal> animals = new List<Animal>();
animals.Add(new Tiger());
animals.Add(new Tiger());
animals.Add(new Tiger());
animals.Add(new Lion());
animals.Add(new Lion());
animals.Add(new Lion());
List<Tiger> tigers = new List<Tiger>();
foreach (var item in animals){
if(item is Tiger){
var _tiger = item as Tiger;
tigers.Add(_tiger);
}
}
}
}
Я бы получил список тигров, используя вышеприведенный цикл foreach, но есть ли какая-либо реализация, чтобы получить список, если тигры используют Linq,
как List<Tiger> tigers = animals.where(somePredicate)
??
List<Tiger> tigers = animals.OfType<Tiger>().ToList();
var tigers = animals.Where(a => a - Tiger);
System.Linq.Enumerable.WhereListIterator<ConsoleApplication1.Animal>
вместо List<Tigers>
.
List<Tiger> tigers = animals.Where(a => a is Tiger).ToList();
ToList
в конце.var