请问 C# 中如何在集合中存入不同类型的值?

您所在的位置:网站首页 string存入数组 请问 C# 中如何在集合中存入不同类型的值?

请问 C# 中如何在集合中存入不同类型的值?

2023-04-02 00:24| 来源: 网络整理| 查看: 265

在 C# 中,可以使用泛型来解决你提到的问题。你可以使用泛型 Hashtable,这样就可以存储不同类型的值,同时也可以避免了类型转换和运行时错误的问题。以下是一个使用泛型 Hashtable 的示例代码:// 创建一个泛型 Hashtable,用于存储不同类型的实例Hashtable myHashtable = new Hashtable();

// 存储不同类型的实例myHashtable.Add(MyClassType.Type1, new MyType1());myHashtable.Add(MyClassType.Type2, new MyType2());myHashtable.Add(MyClassType.Type3, new MyType3());

// 遍历 Hashtable 中的元素,调用子类的 Say 方法foreach (MyBaseClass item in myHashtable.Values){ item.Say();}

// 定义一个枚举,用于标识不同类型的实例enum MyClassType{ Type1, Type2, Type3}

// 定义一个基类 MyBaseClass,其中包含一个 Say 方法abstract class MyBaseClass{ public abstract void Say();}

// 定义三个子类,分别继承 MyBaseClass,实现 Say 方法class MyType1 : MyBaseClass{ public override void Say() { Console.WriteLine("MyType1 says hello!"); }}

class MyType2 : MyBaseClass{ public override void Say() { Console.WriteLine("MyType2 says hello!"); }}

class MyType3 : MyBaseClass{ public override void Say() { Console.WriteLine("MyType3 says hello!"); }}通过使用泛型 Hashtable,我们可以定义一个存储 MyBaseClass 子类实例的 Hashtable,并且可以遍历 Hashtable 中的元素并调用其 Say 方法,而不需要担心类型转换或运行时错误。同时,通过定义一个枚举 MyClassType,我们可以为不同类型的实例分配标识符,使得管理类可以在存储实例时知道对象是哪个子类的实例。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3