CSharp · Console
using System;
using System.Collections.Generic;
using System.Linq;
public class Bar<T>
{
private readonly T _value;
public T Value() {
return _value;
}
public Bar(T value) {
_value = value;
}
}
public abstract class Car
{
public Ferrari Parent { get; set; }
}
public class Ferrari : Car
{
}
public class Lambo : Car
{
}
public class Program
{
public static void Main(string[] args)
{
Car p1 = new Ferrari();
Car p2 = new Lambo();
Car p3 = new Lambo();
p2.Parent = new Ferrari();
List<Car> items = new List<Car>();
items.Add(p1);
items.Add(p2);
items.Add(p3);
Bar<Car> b = new Bar<Car>(null);
List<Car> list2 = items.Where(item => item.Parent == b.Value()).ToList();
bool z = null == b.Value();
Console.WriteLine(list2.Count);
}
}