首页 > 解决方案 > 我可以在 C# 数组中存储不同的类型吗?

问题描述

我想将多种数据类型存储在 C# 数组中。我对此进行了研究并找到了一个答案。例如:要使用对象类型,其代码如下

object[] array = new object[2];

有没有其他方法可以实现这一目标?

标签: c#arrays

解决方案


这取决于您计划存储在数组中的数据类型。
要将不同的数据类型存储在同一个数组中,您必须使用它们的共同祖先——object作为 .Net 框架中的最终基类,您可以在此数组中存储任何数据类型。

但是,如果您打算存储派生自更具体基类的类型 - 您可以使用该基类。
例如,如果您有一个Animal派生类为CatDog、的基类TigerSnake并且您想将它们全部存储在一个数组中,您可以使用一个数组Animal来做到这一点。

请注意,这也适用于接口。如果您有多个类都实现相同的接口,则可以使用该接口的数组。例如:var myArray = new INotifyPropertyChanged[3]; 在该数组中,您可以放置​​任何实现该接口的类。


推荐阅读