skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class StackCollection<T>

Name-addressable stack of elements that preserves order and allows O(1) lookup by the element name.

Inheritance
System.Object
StackCollection<T>
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.Windows.Documents.Core.Data
Assembly: Telerik.Windows.Documents.Core.dll

Syntax

public class StackCollection<T> : ICollection<T>, IEnumerable<T>, IEnumerable where T : IStackCollectionElement
Type Parameters
T

Constructors

StackCollection()

Create an empty collection with indexing by element name and linked-list ordering for fast inserts.

Declaration
public StackCollection()

Properties

Count

The number of elements currently in the collection.

Declaration
public int Count { get; }
Property Value
System.Int32

The number of elements contained in the collection.

Implements
System.Collections.Generic.ICollection<T>.Count

IsReadOnly

Gets a value indicating whether the System.Collections.Generic.ICollection<T> is read-only.

Declaration
public bool IsReadOnly { get; }
Property Value
System.Boolean

true if the System.Collections.Generic.ICollection<T> is read-only; otherwise, false.

Implements
System.Collections.Generic.ICollection<T>.IsReadOnly

Methods

Add(T)

Push an element to the end of the stack and index it by name.

Declaration
public void Add(T item)
Parameters
T item

The item.

Implements
System.Collections.Generic.ICollection<T>.Add(T)

AddAfter(String, T)

Insert element after the element with the given name.

Declaration
public bool AddAfter(string presentedElementName, T element)
Parameters
System.String presentedElementName

Name of the presented element.

T element

The element.

Returns
System.Boolean

AddBefore(String, T)

Insert layer before the element with the given name.

Declaration
public bool AddBefore(string presentedElementName, T layer)
Parameters
System.String presentedElementName

Name of the presented element.

T layer

The layer.

Returns
System.Boolean

AddFirst(T)

Insert an element at the start of the stack and index it by name.

Declaration
public void AddFirst(T element)
Parameters
T element

The element.

AddLast(T)

Append an element at the end of the stack and index it by name.

Declaration
public void AddLast(T element)
Parameters
T element

The element.

Clear()

Removes all items from the System.Collections.Generic.ICollection<T>.

Declaration
public void Clear()
Implements
System.Collections.Generic.ICollection<T>.Clear()
Exceptions
System.NotSupportedException

The System.Collections.Generic.ICollection<T> is read-only.

Contains(T)

Check whether an element instance exists in the collection by its name.

Declaration
public bool Contains(T item)
Parameters
T item

The item.

Returns
System.Boolean

Implements
System.Collections.Generic.ICollection<T>.Contains(T)

Contains(String)

Check for the existence of an element by its unique name.

Declaration
public bool Contains(string elementName)
Parameters
System.String elementName

Name of the element.

Returns
System.Boolean

CopyTo(T[], Int32)

Copy the elements to the provided array starting at the specified index while maintaining order.

Declaration
public void CopyTo(T[] array, int arrayIndex)
Parameters
T[] array

The array.

System.Int32 arrayIndex

Index of the array.

Implements
System.Collections.Generic.ICollection<T>.CopyTo(T[], System.Int32)

GetElementByName(String)

Find an element by its unique name and return it, or the default value if not present.

Declaration
public T GetElementByName(string elementName)
Parameters
System.String elementName

Name of the element.

Returns
T

GetEnumerator()

Returns an enumerator that iterates through the collection.

Declaration
public IEnumerator<T> GetEnumerator()
Returns
System.Collections.Generic.IEnumerator<T>

A System.Collections.Generic.IEnumerator<T> that can be used to iterate through the collection.

Implements
System.Collections.Generic.IEnumerable<T>.GetEnumerator()

Remove(T)

Remove an element instance from the collection and its name index.

Declaration
public bool Remove(T item)
Parameters
T item

The item.

Returns
System.Boolean

Implements
System.Collections.Generic.ICollection<T>.Remove(T)

Remove(String)

Remove an element by name if present.

Declaration
public bool Remove(string elementName)
Parameters
System.String elementName

Name of the element.

Returns
System.Boolean

Explicit Interface Implementations

IEnumerable.GetEnumerator()

Returns an enumerator that iterates through a collection.

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
System.Collections.IEnumerator

An System.Collections.IEnumerator object that can be used to iterate through the collection.

Implements
System.Collections.IEnumerable.GetEnumerator()

Extension Methods

CommonExtensions.AddRange<T>(ICollection<T>, IEnumerable<T>)
CommonExtensions.ContainsAny<T>(IEnumerable<T>, IEnumerable<T>)
CommonExtensions.ForEach<T>(IEnumerable<T>, Action<T>)
CommonExtensions.Clone<T>(IEnumerable<T>)
SvgExtentions.Traverse<T>(IEnumerable<T>, Func<T, IEnumerable<T>>)
SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(IEnumerable<T>, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.