c# - 当我们可以在 ArrayList 中存储东西(值和引用)时,为什么还要使用泛型?

标签 c# generics

<分区>

Possible Duplicate:
What is cool about generics, why use them?

重复:

What is cool about generics, why use them?


我的基本问题与标题相同。但我想了解更多可以启发我了解 C# 泛型世界的东西。

谢谢! 阿卡什

最佳答案

使用通用列表而不是 ArrayList 的一个方法是 ArrayList 接受任何类型的对象,如果您打算只存储给定类型的对象,这可能会导致运行时错误,而这不会发生泛型。

例子:

var numbers=new ArrayList();
numbers.Add(1);
numbers.Add("abcd"); //This will compile!

int theNumber=(int)numbers[1]; //This will cause an exception

使用泛型列表时,您要确保列表中只存储所需的类型:

var numbers=new List<int>();
numbers.Add(1);
numbers.Add("abcd"); //This will NOT compile

关于c# - 当我们可以在 ArrayList 中存储东西(值和引用)时,为什么还要使用泛型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1819300/

相关文章:

swift - 通用类型与同一类型不同

具有关联类型的 Swift 子协议(protocol)

c# - 将数据作为字符串从C#发送到Javascript-如何检查字符串?

c# - 具有相同基类的泛型的泛型列表

c# - 使用 C# 从 json 中反序列化动态对象

c# - 是否可以通过编程方式启用/禁用硬件?

c# - 通用委托(delegate)线程

c# - "T @this"在委托(delegate)声明中是什么意思?

c# - 冒泡排序算法的空间复杂度

c# - 在不使用 Where() 的情况下使用 GroupBy() 和 Timeout() 时出现 NotSupportedException