Click here to Skip to main content
15,892,746 members
Articles / Programming Languages / C#

Set Collections for C#

Rate me:
Please Sign up or sign in to vote.
4.85/5 (18 votes)
3 Feb 2008CPOL10 min read 115.1K   642   54  
Describes a library of set collections I have written
<html dir="LTR"><head><META http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"><title>ISet Members</title><xml></xml><link rel="stylesheet" type="text/css" href="MSDN.css"></head><body id="bodyID" class="dtBODY"><div id="nsbanner"><div id="bannerrow1"><table class="bannerparthead" cellspacing="0"><tr id="hdr"><td class="runninghead">"Set" Collections Library for .NET</td><td class="product"></td></tr></table></div><div id="TitleRow"><h1 class="dtH1">ISet Members
					</h1></div></div><div id="nstext"><p><a href="Iesi.Collections.ISet.html">ISet overview</a></p><h4 class="dtH4">Public Instance Properties</h4><div class="tablediv"><table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"><a href="Iesi.Collections.ISet.IsEmpty.html">IsEmpty</a></td><td width="50%">
            Returns <code>true</code> if this set contains no elements.
            </td></tr></table></div><h4 class="dtH4">Public Instance Methods</h4><div class="tablediv"><table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.Add.html">Add</a></td><td width="50%">
            Adds the specified element to this set if it is not already present.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.AddAll.html">AddAll</a></td><td width="50%">
            Adds all the elements in the specified collection to the set if they are not already present.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.Clear.html">Clear</a></td><td width="50%">
            Removes all objects from the set.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.Contains.html">Contains</a></td><td width="50%">
            Returns <code>true</code> if this set contains the specified element.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.ContainsAll.html">ContainsAll</a></td><td width="50%">
            Returns <code>true</code> if the set contains all the elements in the specified collection.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.ExclusiveOr.html">ExclusiveOr</a></td><td width="50%">
            Performs an "exclusive-or" of the two sets, keeping only the elements that
            are in one of the sets, but not in both.  The original sets are not modified
            during this operation.  The result set is a <code>Clone()</code> of this set containing
            the elements from the exclusive-or operation.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.Intersect.html">Intersect</a></td><td width="50%">
            Performs an "intersection" of the two sets, where only the elements
            that are present in both sets remain.  That is, the element is included if it exists in
            both sets.  The <code>Intersect()</code> operation does not modify the input sets.  It returns
            a <code>Clone()</code> of this set with the appropriate elements removed.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.Minus.html">Minus</a></td><td width="50%">
            Performs a "minus" of set <code>b</code> from set <code>a</code>.  This returns a set of all
            the elements in set <code>a</code>, removing the elements that are also in set <code>b</code>.
            The original sets are not modified during this operation.  The result set is a <code>Clone()</code>
            of this <code>Set</code> containing the elements from the operation.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.Remove.html">Remove</a></td><td width="50%">
            Removes the specified element from the set.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.RemoveAll.html">RemoveAll</a></td><td width="50%">
            Remove all the specified elements from this set, if they exist in this set.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.RetainAll.html">RetainAll</a></td><td width="50%">
            Retains only the elements in this set that are contained in the specified collection.
            </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"><a href="Iesi.Collections.ISet.Union.html">Union</a></td><td width="50%">
            Performs a "union" of the two sets, where all the elements
            in both sets are present.  That is, the element is included if it is in either <code>a</code> or <code>b</code>.
            Neither this set nor the input set are modified during the operation.  The return value
            is a <code>Clone()</code> of this set with the extra elements added in.
            </td></tr></table></div><h4 class="dtH4">See Also</h4><p><a href="Iesi.Collections.ISet.html">ISet Interface</a> | <a href="Iesi.Collections.html">Iesi.Collections Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="ISet interface"><param name="Keyword" value="Iesi.Collections.ISet interface"><param name="Keyword" value="ISet interface, all members"></object><hr><div id="footer"><p></p><p>Generated from assembly Iesi.Collections [1.0.0.1]</p></div></div></body></html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Imagine Communications
United Kingdom United Kingdom
I have been working in IT since 1975, in various roles from junior programmer to system architect, and with many different languages and platforms. I have written shedloads of code.

I now live in Bedfordshire, England. As well as working full time I am the primary carer for my wife who has MS. I am learning to play the piano. I have three grown up children and a cat.

Comments and Discussions