【发布时间】:2023-03-09 14:14:01
【问题描述】:
假设我有一个Fruit (List<Fruit> fruits = new List<Fruit>()) 的通用列表。然后我添加了几个对象(全部从Fruit派生)-Banana、Apple、Orange,但派生对象具有不同的属性(例如Banana.IsYellow)。
List<Fruit> fruits = new List<Fruit>();
Banana banana1 = new Banana();
Banana banana2 = new Banana();
Apple apple1 = new Apple();
Orange orange2 = new Orange();
fruits.Add(banana1);
fruits.Add(banana2);
fruits.Add(apple1);
fruits.Add(orange1);
那么我可以这样做:
foreach(Banana banana in fruits)
Console.Write(banana.IsYellow);
但在执行时这当然是无效的,因为 Apple 和 Orange 对象上没有 IsYellow-property。
如何从List<Fruit> 只获取香蕉、苹果、橙子等?
【问题讨论】:
-
有谁知道如何在 C++ 中做到这一点?我也陷入了这种困境,但我正在用 C++ 编写代码!
标签: c# .net list collections filter