.net net如何确定;foreach“;环
当我在C#.net中使用.net net如何确定;foreach“;环,.net,collections,foreach,.net,Collections,Foreach,当我在C#.net中使用foreach语句时,.net如何确定以何种顺序处理集合中的元素?当使用foreach时,实现IEnumerable或IEnumerable的对象是“迭代的”。顺序由对象的IEnumerable实现决定 任何类都可以自定义发生这种情况的顺序。例如,对于列表,它是按列表的顺序(按索引)排列的。但是,一些类,如Dictionary,根本不保证订单,只保证每个项目都会被枚举一次,因为在这种情况下提供订单保证会极大地影响性能。当您使用foreach时,实现IEnumerable或
foreach
语句时,.net如何确定以何种顺序处理集合中的元素?当使用foreach
时,实现IEnumerable
或IEnumerable
的对象是“迭代的”。顺序由对象的IEnumerable
实现决定
任何类都可以自定义发生这种情况的顺序。例如,对于
列表
,它是按列表的顺序(按索引)排列的。但是,一些类,如Dictionary
,根本不保证订单,只保证每个项目都会被枚举一次,因为在这种情况下提供订单保证会极大地影响性能。当您使用foreach
时,实现IEnumerable
或IEnumerable
的对象是“迭代的”。顺序由对象的IEnumerable
实现决定
任何类都可以自定义发生这种情况的顺序。例如,对于
列表
,它是按列表的顺序(按索引)排列的。但是,一些类,如Dictionary
根本不保证顺序-只保证每个项都会被枚举一次,因为在这种情况下提供顺序保证会极大地影响性能。它使用的是IEnumerable和IEnumerator接口。它们一个接一个地提供值,因此.Net不必关心排序。它只是按照传递的顺序处理值。它使用IEnumerable和IEnumerator接口。它们一个接一个地提供值,因此.Net不必关心排序。它正在按照交付的顺序处理这些值。什么类型的收集?可能重复感谢asnwers!我将要学习IEnumerable接口。什么类型的集合?可能重复感谢asnwers!我将不得不学习IEnumerable接口。我喜欢被删除的答案“我非常确定它从0开始,一直到没有了为止。”我喜欢被删除的答案“我非常确定它从0开始,一直到没有了为止。”