c# - 数组如何包含不同的对象作为元素?

标签 c# c++ object

<分区>

数组或链表如何包含不同的对象作为元素?这如何在 C# 或 C++ 中完成?

最佳答案

数组可以包含不同类对象的唯一方法是,如果它们都有一个共同的基础,并且数组被声明为包含该共同基础。例如,您可以有 3 个这样的类:

class MyBase {
    public int SomeParameter { get; set; }
}

class MyFirstChild : MyBase {
    public int SomeOtherParameter { get; set; }
}

class MySecondChild : MyBase {
    public int SomeOtherParameter { get; set; }
}

你的数组会这样声明:

MyBase[] myArray = new MyBase[3];

现在您可以将类型为 MyBase 或其子对象的不同对象放入此数组中,如下所示:

myArray[0] = new MyBase();
myArray[1] = new MyFirstChild();
myArray[2] = new MySecondChild();

如果它们都实现某个接口(interface)而不是从 MyBase 继承,同样会起作用。

关于c# - 数组如何包含不同的对象作为元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978581/

相关文章:

c# - 使用带有 Dependency 关键字和 UnityContainer 的属性进行初始化

c# - 如何测试通配符域逻辑

c++ - auto const & map 迭代器的类型是什么? C++

XMVectorPermute 的 C++ 模板相关错误

c# - 如何将我的公共(public) IP 与 HttpListener 一起使用

c# - Response.Redirect 在 Global.asax 中不起作用

c++ - 没有显式构造函数的结构中的错误 C2512

java - Java中如何从链表中的节点获取对象?

c++ - 我可以在同一个类中创建对象吗?

java - Java中如何从父类(super class)访问子类?