C# 什么';迭代FindItemsResults和FindItemsResults.Items之间的区别是什么?
根据MSDN上的文档,实现IEnumerable。它有一个名为的属性,该属性实现ICollection。但是,我在文档中的任何地方都找不到集合中的项目是否与迭代C# 什么';迭代FindItemsResults和FindItemsResults.Items之间的区别是什么?,c#,.net,exchangewebservices,C#,.net,Exchangewebservices,根据MSDN上的文档,实现IEnumerable。它有一个名为的属性,该属性实现ICollection。但是,我在文档中的任何地方都找不到集合中的项目是否与迭代FindItemsResults对象时看到的项目相同。这些东西一样吗 如果是,为什么FindItemsResults甚至有Items属性?为什么不直接实现ICollection而不去处理属性呢?通常将[Items]属性作为数组或集合,然后允许使用IEnumerable for EF查询访问它们 确实说Items就是结果。我假设在基本对象上
FindItemsResults
对象时看到的项目相同。这些东西一样吗
如果是,为什么
FindItemsResults
甚至有Items
属性?为什么不直接实现ICollection而不去处理属性呢?通常将[Items]属性作为数组或集合,然后允许使用IEnumerable for EF查询访问它们
确实说Items就是结果。我假设在基本对象上迭代不会立即实现结果,但是调用
。Items
会为您提供一个包含其中所有内容的集合。可能我不了解某些内容。为什么要费心处理项
属性?为什么不直接实现ICollection?IEnumerable是一个固定大小。因此,默认情况下,您不能添加或删除项目。您只能进行迭代和查询。ICollection没有这些限制。您不希望修改搜索结果集,因此IEnumerable是最佳默认值。由于假设您将迭代结果集,因此非常适合此用途。