Sharepoint编码标准

时间:2011-08-25 08:59:21

标签: c# sharepoint sharepoint-2010 sharepoint-2007 sharepoint-api

我刚遇到this table

Alternatives to SPList.Items

请让我知道穷人有什么不同 - >最后5个项目更好。

2 个答案:

答案 0 :(得分:7)

所有这一切的原因很简单。当您写SPList.Items.Count以获取项目总数时,SPList.Items 会返回列表中所有项目的集合
你不想要所有物品,这可能是一个昂贵的行动 通过编写SPList.ItemCount,您确保只从数据库中读取数字,而不是所有项目。

基本上,对于列表中的所有项都是如此 - 您通常应该尽可能避免使用整个Collection对象(即SPList.ItemsSPFolder.Files)。同样,如果您多次使用它们,则应使用局部变量缓存它们。

以下是使用索引器的示例。假设我有一个Guid,并希望得到一个项目。

SPListItem item = list.Items[guid];

看起来很无辜,但它实际上与:

相同
SPListItemCollection items = list.Items;
SPListItem item = items[guid];

重点是 - SharePoint(和C#,真的)不知道接下来要做什么,或者你将如何使用该集合。你写完.Items已经的时间很慢。

答案 1 :(得分:1)

他所有这一切的原因很简单。当您编写SPList.Items.Count以获取项目总数时,SPList.Items将返回列表中所有项目的集合。 你不想要所有的物品,这可能是一个昂贵的行动。 通过编写SPList.ItemCount,您可以确保只读取数据库中的数字,而不是所有项目。

基本上,对于列表中的所有项都是如此 - 您通常应该尽可能避免使用整个Collection对象(即SPList.Items或SPFolder.Files)。同样,如果您多次使用它们,则应使用局部变量缓存它们。

以下是使用索引器的示例。假设我有一个Guid,并希望得到一个项目。

SPListItem item = list.Items [guid];

看起来很无辜,但它实际上与:

相同

SPListItemCollection items = list.Items; SPListItem item = items [guid];

重点是 - SharePoint(和C#,真的)不知道接下来要做什么,或者你将如何使用该集合。你写完的那一刻。你已经做了一个慢的操作。