SPDocumentLibrary class

Represents a document library in Microsoft SharePoint Foundation.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

public class SPDocumentLibrary : SPList

To obtain an SPDocumentLibrary object, cast the given list as a document library, as shown in the following example.

SPDocumentLibrary oDocumentLibrary = (SPDocumentLibrary)oList;

The following code example iterates through all the sites and their lists and, excluding catalogs or form libraries, displays the name of the site and list, as well as the file name, for each item in every document library.

The example assumes the existence of an .aspx page that contains a label control.

This example requires using directives (Imports in Visual Basic) for the Microsoft.SharePoint and Microsoft.SharePoint.Utilities namespaces.

SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs;

foreach (SPWeb oWebsite in collWebsites)
    SPListCollection collLists = oWebsite.Lists;

    foreach (SPList oList in collLists)
        if (oList.BaseType == SPBaseType.DocumentLibrary)
            SPDocumentLibrary oDocumentLibrary = (SPDocumentLibrary)oList;

            if (!oDocumentLibrary.IsCatalog && oList.BaseTemplate != 
                SPListItemCollection collListItems = oDocumentLibrary.Items;

                foreach (SPListItem oListItem in collListItems)
                    Label1.Text += SPEncode.HtmlEncode(oWebsite.Name) + 
                        " -- " + 
                        SPEncode.HtmlEncode(oList.Title) + " -- " + 
                        SPEncode.HtmlEncode(oListItem["Title"]) + 

Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Disposing Objects.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.