c# - 非泛型 IEnumerable 和泛型 IEnumerable<T> 之间有什么区别?

标签 c# generics syntax ienumerable

很抱歉提出这样一个模糊的问题,但我一直在寻找一天中最好的部分,我已经阅读了一篇又一篇文章(以及这里的许多问题),但就是找不到一个容易理解的答案。

我(认为我)知道 IEnumerable 的用途,但我无法理解它在使用泛型类型参数定义时的含义,例如:

IEnumerable<int> test = method();

这简直让我抓狂!请把我从痛苦中解脱出来,解释一下是什么意思?

最佳答案

IEnumerable基本上是对象的集合。它有方法 GetEnumerator()这允许您遍历可枚举中的所有对象。

IEnumerable<int>基本上是整数的集合。它有方法 GetEnumerator()这允许您遍历可枚举中的所有整数。

IEnumerable<int> test = method();意味着 method()如果整数来自某处,则正在获取一个集合。它可以是一个列表、一个数组或其他一些数据类型,但它肯定是它们的一组并且它们都是整数,并且您可以遍历它们。

这篇文章也可能有帮助:What's the difference between IEnumerable and Array, IList and List?

关于c# - 非泛型 IEnumerable 和泛型 IEnumerable<T> 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5527346/

相关文章:

c# - 不能在C#中以原始格式将PPT幻灯片中的形状复制到word文档中吗?

c# - 如何在 ASP.NET 中隐藏 RGB channel 之一?

android-studio - 类型参数不在其范围内 预期 : Any Found: String

java - 覆盖具有不同签名的方法

python - 访问同一字典中的字典成员

haskell - 为什么我不应该混合制表符和空格?

arrays - 使用 JSONPath 计算数组中的实例数

c# - 从 C# 中以编程方式创建的 TextBox 中获取值

c# - 在 DataGrid 上编辑多个单元格然后保存到数据库

Java 泛型 - Java 是否需要支持本地定义的类型?