Search Results for

    Show / Hide Table of Contents

    Class Set<T>

    A collection of unique items.

    Inheritance
    Object
    Set<T>
    SharedVariableSet
    Implements
    ICollection<T>
    ICloneable
    IReadOnlyCollection<T>
    IEnumerable<T>
    IEnumerable
    Inherited Members
    Object.Equals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Namespace: Microsoft.ML.Probabilistic.Collections
    Assembly: Microsoft.ML.Probabilistic.dll
    Syntax
    public class Set<T> : ICollection<T>, ICloneable, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable
    Type Parameters
    Name Description
    T

    The item type.

    Remarks

    A collection of items, all of which are different according to Equals. null items are not allowed. Adding a duplicate has no effect. Union, intersection, and superset are all supported via operator overloading. The items are stored in the keys of a Dictionary that ensures uniqueness via its own comparer function.

    Constructors

    Set()

    Declaration
    public Set()

    Set(IEqualityComparer<T>)

    Declaration
    public Set(IEqualityComparer<T> comparer)
    Parameters
    Type Name Description
    IEqualityComparer<T> comparer

    Set(Int32, IEqualityComparer<T>)

    Declaration
    public Set(int capacity, IEqualityComparer<T> comparer)
    Parameters
    Type Name Description
    Int32 capacity
    IEqualityComparer<T> comparer

    Properties

    Capacity

    Declaration
    public int Capacity { get; set; }
    Property Value
    Type Description
    Int32

    Comparer

    Declaration
    public IEqualityComparer<T> Comparer { get; }
    Property Value
    Type Description
    IEqualityComparer<T>

    Count

    Declaration
    public virtual int Count { get; }
    Property Value
    Type Description
    Int32

    IsReadOnly

    Declaration
    public virtual bool IsReadOnly { get; }
    Property Value
    Type Description
    Boolean

    Methods

    Add(T)

    Declaration
    public virtual void Add(T item)
    Parameters
    Type Name Description
    T item

    AddRange(IEnumerable<T>)

    Add all items in a collection.

    Declaration
    public void AddRange(IEnumerable<T> list)
    Parameters
    Type Name Description
    IEnumerable<T> list

    Clear()

    Declaration
    public virtual void Clear()

    Clone()

    Declaration
    public object Clone()
    Returns
    Type Description
    Object

    Contains(T)

    Declaration
    public virtual bool Contains(T item)
    Parameters
    Type Name Description
    T item
    Returns
    Type Description
    Boolean

    Contains(IList<T>)

    Test membership of all items in a collection.

    Declaration
    public IList<bool> Contains(IList<T> list)
    Parameters
    Type Name Description
    IList<T> list
    Returns
    Type Description
    IList<Boolean>

    result[i] is true iff the set contains list[i].

    ContainsAll(IEnumerable<T>)

    Test membership of all items in a collection.

    Declaration
    public bool ContainsAll(IEnumerable<T> list)
    Parameters
    Type Name Description
    IEnumerable<T> list
    Returns
    Type Description
    Boolean

    true if the set contains all items in list.

    ContainsAny(IEnumerable<T>)

    Test membership of all items in a collection.

    Declaration
    public bool ContainsAny(IEnumerable<T> list)
    Parameters
    Type Name Description
    IEnumerable<T> list
    Returns
    Type Description
    Boolean

    true if the set contains any item in list.

    ConvertAll(Converter<T, T>)

    Declaration
    public Set<T> ConvertAll(Converter<T, T> converter)
    Parameters
    Type Name Description
    Converter<T, T> converter
    Returns
    Type Description
    Set<T>

    CopyTo(T[], Int32)

    Declaration
    public virtual void CopyTo(T[] array, int index)
    Parameters
    Type Name Description
    T[] array
    Int32 index

    Difference(Set<T>, IEnumerable<T>)

    Declaration
    public static Set<T> Difference(Set<T> a, IEnumerable<T> b)
    Parameters
    Type Name Description
    Set<T> a
    IEnumerable<T> b
    Returns
    Type Description
    Set<T>

    Equals(Object)

    Declaration
    public override bool Equals(object that)
    Parameters
    Type Name Description
    Object that
    Returns
    Type Description
    Boolean
    Overrides
    Object.Equals(Object)

    FromEnumerable(IEnumerable<T>)

    Declaration
    public static Set<T> FromEnumerable(IEnumerable<T> collection)
    Parameters
    Type Name Description
    IEnumerable<T> collection
    Returns
    Type Description
    Set<T>

    FromEnumerable(IEqualityComparer<T>, IEnumerable<T>)

    Declaration
    public static Set<T> FromEnumerable(IEqualityComparer<T> comparer, IEnumerable<T> collection)
    Parameters
    Type Name Description
    IEqualityComparer<T> comparer
    IEnumerable<T> collection
    Returns
    Type Description
    Set<T>

    GetEnumerator()

    Declaration
    public virtual IEnumerator<T> GetEnumerator()
    Returns
    Type Description
    IEnumerator<T>

    GetHashCode()

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32
    Overrides
    Object.GetHashCode()

    Intersection(Set<T>, IEnumerable<T>)

    Declaration
    public static Set<T> Intersection(Set<T> a, IEnumerable<T> b)
    Parameters
    Type Name Description
    Set<T> a
    IEnumerable<T> b
    Returns
    Type Description
    Set<T>

    IntersectWith(IEnumerable<T>)

    Declaration
    public void IntersectWith(IEnumerable<T> items)
    Parameters
    Type Name Description
    IEnumerable<T> items

    Remove(T)

    Declaration
    public virtual bool Remove(T item)
    Parameters
    Type Name Description
    T item
    Returns
    Type Description
    Boolean

    Remove(IEnumerable<T>)

    Remove all items in a collection.

    Declaration
    public void Remove(IEnumerable<T> list)
    Parameters
    Type Name Description
    IEnumerable<T> list

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    String
    Overrides
    Object.ToString()

    Union(Set<T>, Set<T>)

    Declaration
    public static Set<T> Union(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Set<T>

    Operators

    Addition(Set<T>, Set<T>)

    Declaration
    public static Set<T> operator +(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Set<T>

    BitwiseAnd(Set<T>, IEnumerable<T>)

    Declaration
    public static Set<T> operator &(Set<T> a, IEnumerable<T> b)
    Parameters
    Type Name Description
    Set<T> a
    IEnumerable<T> b
    Returns
    Type Description
    Set<T>

    BitwiseOr(Set<T>, Set<T>)

    Declaration
    public static Set<T> operator |(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Set<T>

    Equality(Set<T>, Set<T>)

    Declaration
    public static bool operator ==(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Boolean

    GreaterThan(Set<T>, Set<T>)

    Declaration
    public static bool operator>(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Boolean

    GreaterThanOrEqual(Set<T>, Set<T>)

    Superset operator.

    Declaration
    public static bool operator >=(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Boolean

    True iff a is equal to or a superset of b.

    Remarks

    null is treated as an empty set.

    Inequality(Set<T>, Set<T>)

    Declaration
    public static bool operator !=(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Boolean

    LessThan(Set<T>, Set<T>)

    Declaration
    public static bool operator <(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Boolean

    LessThanOrEqual(Set<T>, Set<T>)

    Subset operator.

    Declaration
    public static bool operator <=(Set<T> a, Set<T> b)
    Parameters
    Type Name Description
    Set<T> a
    Set<T> b
    Returns
    Type Description
    Boolean

    True iff a is equal to or a subset of b.

    Remarks

    null is treated as an empty set.

    Subtraction(Set<T>, IEnumerable<T>)

    Declaration
    public static Set<T> operator -(Set<T> a, IEnumerable<T> b)
    Parameters
    Type Name Description
    Set<T> a
    IEnumerable<T> b
    Returns
    Type Description
    Set<T>

    Explicit Interface Implementations

    IEnumerable.GetEnumerator()

    Declaration
    IEnumerator IEnumerable.GetEnumerator()
    Returns
    Type Description
    IEnumerator

    Implements

    System.Collections.Generic.ICollection<T>
    System.ICloneable
    System.Collections.Generic.IReadOnlyCollection<T>
    System.Collections.Generic.IEnumerable<T>
    System.Collections.IEnumerable

    Extension Methods

    CollectionExtensions.AddRange<T>(ICollection<T>, IEnumerable<T>)
    CollectionExtensions.ContainsAll<T>(ICollection<T>, IEnumerable<T>)
    CollectionExtensions.ContainsAny<T>(ICollection<T>, IEnumerable<T>)
    EnumerableExtensions.ForEach<T>(IEnumerable<T>, Action<T>)
    EnumerableExtensions.ForEach<T>(IEnumerable, Action<T>)
    EnumerableExtensions.ForEach<T>(IEnumerable<T>, Action<Int32, T>)
    EnumerableExtensions.ForEach<T>(IEnumerable, Action<Int32, T>)
    EnumerableExtensions.Sum<TSource>(IEnumerable<TSource>, Func<TSource, UInt32>)
    EnumerableExtensions.Sum<TSource>(IEnumerable<TSource>, Func<TSource, UInt64>)
    EnumerableExtensions.ValueEquals<T>(IEnumerable<T>, IEnumerable<T>)
    EnumerableExtensions.IndexOf<T>(IEnumerable<T>, T)
    EnumerableExtensions.IndexOf<T>(IEnumerable, T)
    EnumerableExtensions.FindIndex<T>(IEnumerable<T>, Predicate<T>)
    EnumerableExtensions.FindIndex<T>(IEnumerable, Predicate<T>)
    EnumerableExtensions.FindAllIndex<T>(IEnumerable<T>, Predicate<T>)
    EnumerableExtensions.IndexOfAll<T>(IEnumerable<T>, T)
    EnumerableExtensions.Skip<T>(IEnumerable<T>, Int32, out List<T>)
    EnumerableExtensions.CopyTo<T>(IEnumerable<T>, T[], Int32)
    EnumerableExtensions.ToReadOnlyList<T>(IEnumerable<T>)
    IEnumerableExensions.EnumerableReduce<T, TRes>(IEnumerable<T>, TRes, Func<TRes, T, TRes>, Func<TRes, T, Int32, TRes>)
    IEnumerableExensions.EnumerableSum<T>(IEnumerable<T>, Func<T, Double>)
    ReadOnlyArray.ToReadOnlyArray<T>(IEnumerable<T>)
    In This Article
    Back to top Copyright © .NET Foundation. All rights reserved.