diff --git a/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/License-PreRelease.rtf b/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/License-PreRelease.rtf new file mode 100644 index 00000000..893ebd92 --- /dev/null +++ b/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/License-PreRelease.rtf @@ -0,0 +1,79 @@ +{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}{\f1\fnil\fcharset2 Symbol;}} +{\colortbl ;\red0\green0\blue255;} +{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}} +{\*\generator Riched20 6.2.9200}{\*\mmathPr\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 +\pard\nowidctlpar\sb120\sa120\b\f0\fs20 TODO: Replace with updated license.\par +MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS\par +.NET FRAMEWORK .DLL PROTOTYPE(S)\fs21\par + +\pard\brdrb\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120\fs20\par + +\pard\nowidctlpar\sb120\sa120\b0 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the pre-release software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft\par + +\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-360\li360\sb120\sa120 updates,\par +{\pntext\f1\'B7\tab}supplements,\par +{\pntext\f1\'B7\tab}Internet-based services, and\par +{\pntext\f1\'B7\tab}support services\par + +\pard\nowidctlpar\sb120\sa120 for this software, unless other terms accompany those items. If so, those terms apply.\par +\b BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.\par + +\pard\brdrt\brdrs\brdrw10\brsp20 \nowidctlpar\sb120\sa120 If you comply with these license terms, you have the rights below.\par + +\pard +{\pntext\f0 1.\tab}{\*\pn\pnlvlbody\pnf0\pnindent360\pnstart1\pndec{\pntxta.}} +\nowidctlpar\s1\fi-357\li357\sb120\sa120 INSTALLATION AND USE RIGHTS. \par + +\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent357{\pntxtb\'B7}}\nowidctlpar\fi-357\li720\sb120\sa120\b0 You may install and use any number of copies of the software on your premises to design, develop and test your programs for use with the software. \par +{\pntext\f1\'B7\tab}Evaluation Only. You may not test or deploy the software in a live operating environment unless Microsoft permits you to do so under another agreement.\par + +\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 2.\tab PRE-RELEASE SOFTWARE. \b0 This software is a pre-release version. It may not work the way a final version of the software will. We may change it for the final, commercial version. We also may not release a commercial version.\par +\b 3.\tab FEEDBACK. \b0 If you give feedback about the software to Microsoft, you give to Microsoft, without charge, the right to use, share and commercialize your feedback in any way and for any purpose. You also give to third parties, without charge, any patent rights needed for their products, technologies and services to use or interface with any specific parts of a Microsoft software or service that includes the feedback. You will not give feedback that is subject to a license that requires Microsoft to license its software or documentation to third parties because we include your feedback in them. These rights survive this agreement.\par +\b 4.\tab SCOPE OF LICENSE.\b0 The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not\par + +\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 work around any technical limitations in the software;\par +{\pntext\f1\'B7\tab}reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;\par +{\pntext\f1\'B7\tab}make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;\par +{\pntext\f1\'B7\tab}publish the software for others to copy;\par +{\pntext\f1\'B7\tab}rent, lease or lend the software;\par +{\pntext\f1\'B7\tab}transfer the software or this agreement to any third party; or\par +{\pntext\f1\'B7\tab}use the software for commercial software hosting services.\par + +\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 5.\tab EXPORT RESTRICTIONS.\b0 The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see {\cf1\ul{\field{\*\fldinst{HYPERLINK "http://www.microsoft.com/exporting"}}{\fldrslt{www.microsoft.com/exporting}}}}\f0\fs20 .\ul\par +\ulnone\b 6.\tab SUPPORT SERVICES. \b0 Because this software is \ldblquote as is,\rdblquote we may not provide support services for it.\par +\b 7.\tab ENTIRE AGREEMENT.\b0 This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.\par + +\pard\nowidctlpar\s1\fi-360\li360\sb120\sa120\b 8.\tab APPLICABLE LAW.\par + +\pard\nowidctlpar\s2\fi-363\li720\sb120\sa120 a.\tab United States.\b0 If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.\par +\b b.\tab Outside the United States.\b0 If you acquired the software in any other country, the laws of that country apply.\par + +\pard\nowidctlpar\s1\fi-357\li357\sb120\sa120\b 9.\tab LEGAL EFFECT.\b0 This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.\par +\b 10.\tab DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \ldblquote AS-IS.\rdblquote YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.\par +\tab FOR AUSTRALIA \endash YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.\b0\par + +\pard\nowidctlpar\fs24\par + +\pard\widctlpar\s1\fi-357\li357\sb120\sa120\b\fs20 11.\tab LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.\par + +\pard\nowidctlpar\li357\sb120\sa120\b0 This limitation applies to\par + +\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent363{\pntxtb\'B7}}\nowidctlpar\fi-363\li720\sb120\sa120 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and\par +{\pntext\f1\'B7\tab}claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.\par + +\pard\nowidctlpar\li360\sb120\sa120 It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.\par + +\pard\nowidctlpar\sb120\sa120\b Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.\par +\lang1036 Remarque : Ce logiciel \'e9tant distribu\'e9 au Qu\'e9bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7ais.\par +EXON\'c9RATION DE GARANTIE.\b0 Le logiciel vis\'e9 par une licence est offert \'ab tel quel \'bb. Toute utilisation de ce logiciel est \'e0 votre seule risque et p\'e9ril. Microsoft n\rquote accorde aucune autre garantie expresse. Vous pouvez b\'e9n\'e9ficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9 marchande, d\rquote ad\'e9quation \'e0 un usage particulier et d\rquote absence de contrefa\'e7on sont exclues.\par +\b LIMITATION DES DOMMAGES-INT\'c9R\'caTS ET EXCLUSION DE RESPONSABILIT\'c9 POUR LES DOMMAGES.\b0 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9tendre \'e0 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9ciaux, indirects ou accessoires et pertes de b\'e9n\'e9fices.\par +\lang1033 Cette limitation concerne :\par + +\pard{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent360{\pntxtb\'B7}}\nowidctlpar\fi-360\li360\sb120\sa120\lang1036 tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et\par +{\pntext\f1\'B7\tab}les r\'e9clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur.\par + +\pard\nowidctlpar\sb120\sa120 Elle s\rquote applique \'e9galement, m\'eame si Microsoft connaissait ou devrait conna\'eetre l\rquote\'e9ventualit\'e9 d\rquote un tel dommage. Si votre pays n\rquote autorise pas l\rquote exclusion ou la limitation de responsabilit\'e9 pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\rquote exclusion ci-dessus ne s\rquote appliquera pas \'e0 votre \'e9gard.\par + +\pard\widctlpar\sb120\sa120\b EFFET JURIDIQUE.\b0 Le pr\'e9sent contrat d\'e9crit certains droits juridiques. Vous pourriez avoir d\rquote autres droits pr\'e9vus par les lois de votre pays. Le pr\'e9sent contrat ne modifie pas les droits que vous conf\'e8rent les lois de votre pays si celles-ci ne le permettent pas.\fs19\lang1033\par +} + \ No newline at end of file diff --git a/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/Microsoft.Bcl.Immutable.1.1.20-beta.nupkg b/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/Microsoft.Bcl.Immutable.1.1.20-beta.nupkg new file mode 100644 index 00000000..fe59180e Binary files /dev/null and b/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/Microsoft.Bcl.Immutable.1.1.20-beta.nupkg differ diff --git a/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.dll b/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.dll new file mode 100644 index 00000000..34c37a2b Binary files /dev/null and b/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.dll differ diff --git a/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.xml b/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.xml new file mode 100644 index 00000000..d233a3c2 --- /dev/null +++ b/Src/packages/Microsoft.Bcl.Immutable.1.1.20-beta/lib/portable-net45+win8/System.Collections.Immutable.xml @@ -0,0 +1,4439 @@ + + + + System.Collections.Immutable + + + + Represents an immutable collection of key/value pairs. + The type of keys in the dictionary. + The type of values in the dictionary. + + + Adds an element with the specified key and value to the dictionary. + A new immutable dictionary that contains the additional key/value pair. + The key of the element to add. + The value of the element to add. + The given key already exists in the dictionary but has a different value. + + + Adds the specified key/value pairs to the dictionary. + A new immutable dictionary that contains the additional key/value pairs. + The key/value pairs to add. + One of the given keys already exists in the dictionary but has a different value. + + + Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance. + An empty dictionary with equivalent ordering and key/value comparison rules. + + + Determines whether the immutable dictionary contains the specified key/value pair. + true if the specified key/value pair is found in the dictionary; otherwise, false. + The key/value pair to locate. + + + Removes the element with the specified key from the immutable dictionary. + A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. + The key of the element to remove. + + + Removes the elements with the specified keys from the immutable dictionary. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + The keys of the elements to remove. + + + Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. + A new immutable dictionary that contains the specified key/value pair. + The key of the entry to add. + The key value to set. + + + Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. + A new immutable dictionary that contains the specified key/value pairs. + The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. + + + Determines whether this dictionary contains a specified key. + true if a match for is found; otherwise, false. + The key to search for. + The matching key located in the dictionary if found, or if no match is found. + + + Represents a list of elements that cannot be modified. + The type of elements in the list. + + + Makes a copy of the list, and adds the specified object to the end of the copied list. + A new list with the object added, or this list if the object is already in the list. + The object to add to the list. + + + Makes a copy of the list and adds the specified objects to the end of the copied list. + A new list with the elements added, or this list if the elements already exist in the list. + The objects to add to the list. + + + Creates a list with all the items removed, but with the same sorting and ordering semantics as this list. + An empty list that has the same sorting and ordering semantics as this instance. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. + The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements if found; otherwise -1. + The object to locate in the . This value can be null for reference types. + The zero-based starting indes of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The equality comparer to use to locate . + + + Inserts the specified element at the specified index in the immutable list. + A new immutable list that includes the specified element. + The zero-based index at which to insert the value. + The object to insert. + + + Inserts the specified elements at the specified index in the immutable list. + A new immutable list that includes the specified elements. + The zero-based index at which the new elements should be inserted. + The elements to insert. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. + Returns . + The object to locate in the list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The equality comparer to match . + + + Removes the first occurrence of a specified object from this immutable list. + Returns a new list with the specified object removed. + The object to remove from the list. + The equality comparer to use to locate . + + + Removes all the elements that match the conditions defined by the specified predicate. + A new immutable list with the elements removed. + The delegate that defines the conditions of the elements to remove. + + + Removes the element at the specified index of the immutable list. + A new list with the element removed. + The index of the element to remove. + + + Removes the specified object from the list. + A new immutable list with the specified objects removed, if matched objects in the list. + The objects to remove from the list. + The equality comparer to use to determine if match any objects in the list. + + + Removes a range of elements from the . + A new immutable list with the elements removed. + The zero-based starting index of the range of elements to remove. + The number of elements to remove. + + + Returns a new list with the first matching element in the list replaced with the specified element. + A new list that contains , even if is the same as . + The element to be replaced. + The element to replace the the first occurrence of with + The equality comparer to use for matching . + + does not exist in the list. + + + Replaces an element in the list at a given position with the specified element. + A new list that contains the new element, even if the element at the specified location is the same as the new element. + The position in the list of the element to replace. + The element to replace the old element with. + + + Represents an immutable first-in, first-out collection of objects. + The type of elements in the queue. + + + Returns a new queue with all the elements removed. + An empty immutable queue. + + + Removes the first element in the immutable queue, and returns the new queue. + The new immutable queue with the first element removed. This value is never null. + + + Adds an element to the end of the immutable queue, and returns the new queue. + The new immutable queue with the specified element added. + The element to add. + + + Gets a value that indicates whether this immutable queue is empty. + true if this queue is empty; otherwise, false. + + + Returns the element at the beginning of the immutable queue without removing it. + The element at the beginning of the queue. + + + Represents a set of elements that can only be modified by creating a new instance of the set. + The type of element stored in the set. + + + Adds the specified element to this immutable set. + A new set with the element added, or this set if the element is already in the set. + The element to add. + + + Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance. + An empty set that has the same sorting and ordering semantics as this instance. + + + Determines whether this immutable set contains a specified element. + true if the set contains the specified value; otherwise, false. + The element to locate in the set. + + + Removes the elements in the specified collection from the current immutable set. + A new set with the items removed; or the original set if none of the items were in the set. + The collection of items to remove from this set. + + + Creates an immutable set that contains only elements that exist in this set and the specified set. + A new immutable set that contains elements that exist in both sets. + The collection to compare to the current . + + + Determines whether the current immutable set is a proper (strict) subset of the specified collection. + true if the current set is a proper subset of the specified collection; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable set is a proper (strict) superset of the specified collection. + true if the current set is a proper superset of the specified collection; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable set is a subset of a specified collection. + true if the current set is a subset of the specified collection; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable set is a superset of a specified collection. + true if the current set is a superset of the specified collection; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable set overlaps with the specified collection. + true if the current set and the specified collection share at least one common element; otherwise, false. + The collection to compare to the current set. + + + Removes the specified element from this immutable set. + A new set with the specified element removed, or the current set if the element cannot be found in the set. + The element to remove. + + + Determines whether the current immutable set and the specified collection contain the same elements. + true if the sets are equal; otherwise, false. + The collection to compare to the current set. + + + Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. + A new set that contains the elements that are present only in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Determines whether the set contains a specified value. + true if a matching value was found; otherwise, false. + The value to search for. + The matching value from the set, if found, or if there are no matches. + + + Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. + A new immutable set with the items added; or the original set if all the items were already in the set. + The collection to add elements from. + + + Represents an immutable last-in-first-out (LIFO) collection. + The type of elements in the stack. + + + Removes all objects from the immutable stack. + An empty immutable stack. + + + Gets a value that indicates whether this immutable stack is empty. + true if this stack is empty; otherwise,false. + + + Returns the element at the top of the immutable stack without removing it. + The element at the top of the stack. + + + Removes the element at the top of the immutable stack and returns the new stack. + The new stack; never null + + + Inserts an element at the top of the immutable stack and returns the new stack. + The new stack. + The element to push onto the stack. + + + Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.The APIs for immutable collections aren't part of the core class library distributed with the .NET Framework; they're available via NuGet. To install these APIs, open your project in Visual Studio, and then choose Manage NuGet Packages from the Project menu. (Optionally, in the drop-down list box in the middle pane, choose Include Prerelease; this option will give you access to new prerelease versions of the immutable classes, as they become available.) In the right pane, search online for the Microsoft.Immutable.Collections (Microsoft.Bcl.Immutable) package. See the introduction to immutable collections for general information, and read about other .NET Framework NuGet packages. + + + Searches a sorted immutable array for a specified element and returns the zero-based index of the element. + The zero-based index of item in the sorted , if is found; otherwise, a negative number which is the bitwise complement of the index of the first element that is larger than value. If value is not found and value is greater than any of the elements in array, a negative number which is the bitwise complement of the index of the last element plus 1. + The sorted array to search. + The starting index of the range to search. + The length of the range to search. + The object to search for. + The type of element stored in the array. + + + Searches a sorted immutable array for a specified element and returns the zero-based index of the element. + The zero-based index of item in the sorted , if is found; otherwise, a negative number which is the bitwise complement of the index of the first element that is larger than value. If value is not found and value is greater than any of the elements in array, a negative number which is the bitwise complement of the index of the last element plus 1. + The sorted array to search. + The starting index of the range to search. + The length of the range to search. + The object to search for. + The comparer to use when comparing elements for equality or null to use the implementation of each element. + The type of element stored in the array. + + + Searches a sorted immutable array for a specified element and returns the zero-based index of the element. + The zero-based index of item in the sorted , if is found; otherwise, a negative number which is the bitwise complement of the index of the first element that is larger than value. If value is not found and value is greater than any of the elements in array, a negative number which is the bitwise complement of the index of the last element plus 1. + The sorted array to search. + The object to search for. + The type of element stored in the array. + + + Searches a sorted immutable array for a specified element and returns the zero-based index of the element. + The zero-based index of item in the sorted , if is found; otherwise, a negative number which is the bitwise complement of the index of the first element that is larger than value. If value is not found and value is greater than any of the elements in array, a negative number which is the bitwise complement of the index of the last element plus 1. + The sorted array to search. + The object to search for. + The type of element stored in the array. + + + Creates an empty immutable array. + An empty immutable array. + The type of elements stored in the array. + + + Creates an immutable array with specified objects from another immutable array. + Returns An immutable array that contains the specified objects from the source array. + The source array of objects. + The index of the first element to copy from . + The number of elements from to include in this immutable array. + The type of elements stored in the array. + + + Returns . + + + + + + + + Creates an immutable array that contains the specified object. + Returns An immutable array that contains the specified object. + The object to store in the array. + The type of elements stored in the array. + + + Creates an immutable array that contains the specified objects. + Returns an immutable array that contains the specified objects. + The first object to store in the array. + The second object to store in the array. + The type of elements stored in the array. + + + Creates an immutable array that contains the specified objects. + An immutable array that contains the specified objects. + The first object to store in the array. + The second object to store in the array. + The third object to store in the array. + The type of elements stored in the array. + + + Creates an immutable array that contains the specified objects. + An immutable array that contains the specified objects. + The first object to store in the array. + The second object to store in the array. + The third object to store in the array. + The fourth object to store in the array. + The type of elements stored in the array. + + + Creates an immutable array from the specified array of objects. + An immutable array that contains the array of items. + The array of objects to populate the array with. + The type of elements stored in the array. + + + Creates an immutable array with specified objects from another array. + An immutable array that contains the specified objects from the source array. + The source array of objects. + The index of the first element to copy from . + The number of elements from to include in this immutable array. + The type of elements stored in the array. + + + Creates a mutable array accessor that can be converted to an without allocating new memory. + A mutable array accessor of the specified type that can be efficiently converted to an immutable array. + The type of elements stored in the builder. + + + Creates a mutable array accessor that can be converted to an without allocating new memory. + A mutable array accessor of the specified type that can be efficiently converted to an immutable array. + The initial capacity of the builder. + The type of elements stored in the builder. + + + + + + Enumerates the specified collection once and creates an immutable array from the collection. + An immutable array that contains the specified collection of objects. + The collection of objects to copy to the immutable array. + The type of objects contained in the collection. + + + A readonly array with O(1) indexable lookup time. + The type of element stored by the array. + + + Returns a copy of the original array with the specified item added to the end. + A new array with the specified item added to the end. + The item to be added to the end of the array. + + + Adds the elements in the specified collection to the end of the array. + A new array with the elements added. + The elements to add to the array. + + + Adds the elements in the specified array to the end of this array. + A new array with the elements added. + The elements to add to the array. + + + Returns a new immutable array that contains the elements of this array cast to a different type. + An immutable array that contains the elements of this array, cast to a different type. If the cast fails, returns an array whose property returns true. + The type of array element to return. + + + Returns an array with all the elements removed. + + + + + + Returns . + + + + + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Gets a value indicating whether this array was declared but not initialized. + true to indicate the is null; otherwise, false. + + + Gets a value indicating whether this is empty or is not initialized. + true to indicate the is null or empty; otherwise, false. + + + Gets a value indicating whether this is empty. + true to indicate the is null or empty; otherwise, false. + + + Gets the element at the specified index in the immutable array. + The element at the specified index in the immutable array. + The zero-based index of the element to get. + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Gets the number of elements in the array. + The number of elements in the array + + + Returns . + + + + Returns . + + + Returns . + + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + + + Gets the number elements in the array. + The number of elements in the array. + + + Gets a value indicating whether this array is read only. + Always returns true.. + + + Returns . + + + Returns . + + + + Gets or sets the element at the specified index in the read-only list. + The element at the specified index in the read-only list. + The zero-based index of the element to get. + Always thrown from the setter. + + + + Gets the number of array in the collection. + Returns . + + + + Gets the size of the array. + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + + Returns . + + + Returns . + + + + Returns . + + + Returns . + + + Returns . + + + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + A writable array accessor that can be converted into an instance without allocating memory. + + + + + + + + + + + + + + + + + + + Removes all items from the . + + + Returns . + + + + Returns . + + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + + Reverses the order of elements in the collection. + + + Sorts the array. + + + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + Returns . + + + An array enumerator. + + + Gets the currently enumerated value. + Returns . + + + Advances to the next value to be enumerated. + true if another item exists in the array; false otherwise. + + + Provides a set of initialization methods for instances of the class. + + + Determines whether the specified immutable dictionary contains the specified key/value pair. + true if this map contains the specified key/value pair; otherwise, false. + The immutable dictionary to search. + The key to locate in the immutable dictionary. + The value to locate on the specified key, if the key is found. + The type of the keys in the immutable dictionary. + The type of the values in the immutable dictionary. + + + Creates an empty immutable dictionary. + An empty immutable dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates an empty immutable dictionary that uses the specified key comparer. + An empty immutable dictionary. + The implementation to use to determine the equality of keys in the dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates an empty immutable dictionary that uses the specified key and value comparers. + An empty immutable dictionary. + The implementation to use to determine the equality of keys in the dictionary. + The implementation to use to determine the equality of values in the dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates a new immutable dictionary builder. + The new builder. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates a new immutable dictionary builder. + The new builder. + The key comparer. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates a new immutable dictionary builder. + The new builder. + The key comparer. + The value comparer. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates a new immutable dictionary that contains the specified items. + A new immutable dictionary that contains the specified items. + The items used to populate the dictionary before it’s immutable. + The type of keys in the dictionary. + The type of values in the dictionary. + + + Creates a new immutable dictionary that contains the specified items and uses the specified key comparer. + A new immutable dictionary that contains the specified items and uses the specified comparer. + The comparer implementation to use to compare keys for equality. + The items to add to the dictionary before it’s immutable. + The type of keys in the dictionary. + The type of values in the dictionary. + + + Creates a new immutable dictionary that contains the specified items and uses the specified key comparer. + A new immutable dictionary that contains the specified items and uses the specified comparer. + The comparer implementation to use to compare keys for equality. + The comparer implementation to use to compare values for equality. + The items to add to the dictionary before it’s immutable. + The type of keys in the dictionary. + The type of values in the dictionary. + + + Gets the value for a given key if a matching key exists in the dictionary. + The value for the key, or default(TValue) if no matching key was found. + The dictionary to retrieve the value from. + The key to search for. + The type of the key. + The type of the value. + + + Gets the value for a given key if a matching key exists in the dictionary. + The value for the key, or if no matching key was found. + The dictionary to retrieve the value from. + The key to search for. + The default value to return if no matching key is found in the dictionary. + The type of the key. + The type of the value. + + + Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents. + An immutable dictionary that contains the key/value pairs in the specified sequence. + The sequence of key/value pairs to enumerate. + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer. + An immutable dictionary that contains the key/value pairs in the specified sequence. + The sequence of key/value pairs to enumerate. + The key comparer to use when building the immutable dictionary. + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key and value comparers. + An immutable dictionary that contains the key/value pairs in the specified sequence. + The sequence of key/value pairs to enumerate. + The key comparer to use when building the immutable dictionary. + The value comparer to use for the immutable dictionary. + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + Constructs an immutable dictionary from an existing collection of elements, applying a transformation function to the source keys. + The immutable dictionary that contains elements from , with keys transformed by applying . + The source collection used to generate the immutable dictionary. + The function used to transform keys for the immutable dictionary. + The type of element in the source collection. + The type of key in the resulting immutable dictionary. + + + Constructs an immutable dictionary based on some transformation of a sequence. + The immutable dictionary that contains elements from , with keys transformed by applying . + The source collection used to generate the immutable dictionary. + The function used to transform keys for the immutable dictionary. + The key comparer to use for the dictionary. + The type of element in the source collection. + The type of key in the resulting immutable dictionary. + + + Enumerates and transforms a sequence, and produces an immutable dictionary of its contents. + An immutable dictionary that contains the items in the specified sequence. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + + + Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key comparer. + An immutable dictionary that contains the items in the specified sequence. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The key comparer to use for the dictionary. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + + + Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key and value comparers. + An immutable dictionary that contains the items in the specified sequence. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The key comparer to use for the dictionary. + The value comparer to use for the dictionary. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + + + Represents an immutable, unordered collection of keys and values. + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + Adds an element with the specified key and value to the immutable dictionary. + A new immutable dictionary that contains the additional key/value pair. + The key of the element to add. + The value of the element to add. + The given key already exists in the dictionary but has a different value. + + + Adds the specified key/value pairs to the immutable dictionary. + A new immutable dictionary that contains the additional key/value pairs. + The key/value pairs to add. + One of the given keys already exists in the dictionary but has a different value. + + + Retrieves an empty immutable dictionary that has the same ordering and key/value comparison rules as this dictionary instance. + An empty dictionary with equivalent ordering and key/value comparison rules. + + + Determines whether this immutable dictionary contains the specified key/value pair. + true if the specified key/value pair is found in the dictionary; otherwise, false. + The key/value pair to locate. + + + Determines whether the immutable dictionary contains an element with the specified key. + true if the immutable dictionary contains an element with the specified key; otherwise, false. + The key to locate. + + + Determines whether the immutable dictionary contains an element with the specified value. + true if the dictionary contains an element with the specified value; otherwise, false. + The value to locate. The value can be null for reference types. + + + Gets the number of key/value pairs in the immutable dictionary. + The number of key/value pairs in the dictionary. + + + Gets an empty immutable dictionary + An empty immutable dictionary. + + + Returns an enumerator that iterates through the immutable dictionary. + An enumerator that can be used to iterate through the dictionary. + + + Gets a value that indicates whether this instance of the immutable dictionary is empty. + true if this instance is empty; otherwise, false. + + + Gets the associated with the specified key. + The value associated with the specified key. If no results are found, the operation throws an exception. + The type of the key. + + + Gets the key comparer for the immutable dictionary. + The key comparer. + + + Gets the keys in the immutable dictionary. + The keys in the immutable dictionary. + + + Removes the element with the specified key from the immutable dictionary. + A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. + The key of the element to remove. + + + Removes the elements with the specified keys from the immutable dictionary. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + The keys of the elements to remove. + + + Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. + A new immutable dictionary that contains the specified key/value pair. + The key of the entry to add. + The key value to set. + + + Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. + A new immutable dictionary that contains the specified key/value pairs. + The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. + + + Adds the specified value to the collection. + The value to add. + + + Removes all the items from the collection. + + + Copies the elements of the collection to an , starting at a particular index. + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether the immutable dictionary is read-only. + true if the immutable dictionary is read-only; otherwise, false. + + + Removes the first occurrence of a specific object from the immutable dictionary. + true if item was successfully removed; otherwise false. + The item to remove from the dictionary. + The dictionary is read-only. + + + Adds an element with the provided key and value to the immutable dictionary. + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + is null. + An element with the same key already exists in the dictionary. + The dictionary is read-only. + + + Gets or sets the element with the specified key. + The element with the specified key. If no element is returned, throws a . + The key of the element to get or set. + + + Gets a collection containing the keys of the immutable dictionary. + A collection of keys of the object that implements the immutable dictionary. + + + Removes the element with the specified key from the immutable dictionary. + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original dictionary. + The key of the element to remove. + + is null. + The dictionary is read-only. + + + Gets a collection containing the values of the immutable dictionary. + A collection of values of the object that implements the immutable dictionary. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the dictionary to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether access to the immutable dictionary is synchronized (thread safe). + true if access to the dictionary is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the immutable dictionary. + An object that can be used to synchronize access to the immutable dictionary. + + + Adds an element with the provided key and value to the immutable dictionary object. + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + + Clears this instance. + The dictionary object is read-only. + + + Determines whether the immutable dictionary object contains an element with the specified key. + true if the dictionary contains an element with the key; otherwise, false. + The key to locate in the dictionary object. + + + Returns an object for the immutable dictionary object. + An enumerator object for the dictionary object. + + + Gets a value indicating whether the immutable dictionary object has a fixed size. + true if the dictionary object has a fixed size; otherwise, false. + + + Gets a value indicating whether the immutable dictionary is read-only. + true if the immutable dictionary is read-only; otherwise, false. + + + Gets or sets the element with the specified key. + The element with the specified key, or null if the key does not exist. + The key of the element to get or set. + + + Gets an object containing the keys of the immutable dictionary. + An containing the keys of the immutable dictionary. + + + Removes the element with the specified key from the immutable dictionary object. + The key of the element to remove. + + + Gets an object containing the values in the immutable dictionary. + An containing the values in the immutable dictionary. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Adds an element with the specified key and value to the immutable dictionary. + A new immutable dictionary that contains the additional key/value pair. + The key of the element to add. + The value of the element to add. + + + Adds the specified key/value pairs to the immutable dictionary. + A new immutable dictionary that contains the additional key/value pairs. + The key/value pairs to add. + + + Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance. + An empty dictionary with equivalent order and key/value comparison rules. + + + Removes the element with the specified key from the immutable dictionary. + A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary. + The key of the element to remove. + + + Removes the elements with the specified keys from the immutable dictionary. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + The keys of the elements to remove. + + + Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. + A new immutable dictionary that contains the specified key/value pair. + The key of the entry to add. + The key value to set. + + + Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. + A new immutable dictionary that contains the specified key/value pairs. + The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. + + + Creates an immutable dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. + A collection with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. + + + Determines whether this dictionary contains a specified key. + true if a match for is found; otherwise, false. + The key to search for. + The matching key located in the dictionary if found, or if no match is found. + + + Gets the value associated with the specified key. + true if the object that implements the dictionary contains an element with the specified key; otherwise, false. + The key whose value will be retrieved. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + + Gets the value comparer used to determine whether values are equal. + The value comparer used to determine whether values are equal. + + + Gets the values in the immutable dictionary. + The values in the immutable dictionary. + + + Gets an instance of the immutable dictionary that uses the specified key comparer. + An instance of the immutable dictionary that uses the given comparer. + The key comparer to use. + + + Gets an instance of the immutable dictionary that uses the specified key and value comparers. + An instance of the immutable dictionary that uses the given comparers. + The key comparer to use. + The value comparer to use. + + + Represents a hash map that mutates with little or no memory allocations and that can produce or build on immutable hash map instances very efficiently. + + + Adds the specified item to the immutable dictionary. + The object to add to the dictionary. + The dictionary is read-only. + + + Adds an element that has the specified key and value to the immutable dictionary. + The key of the element to add. + The value of the element to add. + + is null. + An element with the same key already exists in the dictionary. + The dictionary is read-only. + + + Adds a sequence of values to this collection. + The items to add to this collection. + + + Removes all items from the immutable dictionary. + The dictionary is read-only. + + + Determines whether the immutable dictionary contains a specific value. + true if is found in the dictionary; otherwise, false. + The object to locate in the dictionary. + + + Determines whether the immutable dictionary contains an element that has the specified key. + true if the dictionary contains an element with the key; otherwise, false. + The key to locate in the dictionary. + + is null. + + + Determines whether the immutable dictionary contains an element that has the specified value. + true if the dictionary contains an element with the specified value; otherwise, false. + The value to locate in the immutable dictionary. The value can be null for reference types. + + + Gets the number of elements contained in the immutable dictionary. + The number of elements contained in the immutable dictionary. + + + Returns an enumerator that iterates through the immutable dictionary. + An enumerator that can be used to iterate through the collection. + + + Gets the value for a given key if a matching key exists in the dictionary. + The value for the key, or default(TValue) if no matching key was found. + The key to search for. + + + Gets the value for a given key if a matching key exists in the dictionary. + The value for the key, or if no matching key was found. + The key to search for. + The default value to return if no matching key is found in the dictionary. + + + Gets or sets the element with the specified key. + The element that has the specified key. + The element to get or set. + + + Gets or sets the key comparer. + The key comparer. + + + Gets a collection that contains the keys of the immutable dictionary. + A collection that contains the keys of the object that implements the immutable dictionary. + + + Removes the first occurrence of a specific object from the immutable dictionary. + true if was successfully removed from the dictionary; otherwise, false. This method also returns false if is not found in the dictionary. + The object to remove from the dictionary. + The dictionary is read-only. + + + Removes the element with the specified key from the immutable dictionary. + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the dictionary. + The key of the element to remove. + + is null. + The dictionary is read-only. + + + Removes any entries with keys that match those found in the specified sequence from the immutable dictionary. + The keys for entries to remove from the dictionary. + + + Copies the elements of the dictionary to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether the dictionary is read-only. + true if the dictionary is read-only; otherwise, false. + + + Gets an containing the keys of the dictionary. + An containing the keys of the object that implements the dictionary. + + + Gets an containing the values in the dictionary. + An containing the values in the object that implements the dictionary. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Copies the elements of the dictionary to an array of type , starting at the specified array index. + The one-dimensional array of type that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in  at which copying begins. + + + Gets a value indicating whether access to the dictionary is synchronized (thread safe). + true if access to the dictionary is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the dictionary. + An object that can be used to synchronize access to the dictionary. + + + Adds an element with the provided key and value to the dictionary object. + The key of the element to add. + The value of the element to add. + + + Determines whether the dictionary object contains an element with the specified key. + true if the dictionary contains an element with the key; otherwise, false. + The key to locate. + + + Returns an object for the dictionary. + An object for the dictionary. + + + + Gets a value indicating whether the dictionary object has a fixed size. + true if the dictionary object has a fixed size; otherwise, false. + + + Gets a value indicating whether the dictionary is read-only. + true if the dictionary is read-only; otherwise, false. + + + Gets or sets the element with the specified key. + The element that has the specified . + The element to get or set. + + + Gets an containing the keys of the dictionary. + An containing the keys of the object that implements dictionary. + + + Removes the element with the specified key from the dictionary. + The key of the element to remove. + + + Gets an containing the values in the dictionary. + An containing the values in the object that implements dictionary. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Creates an immutable dictionary based on the contents of this instance. + An immutable dictionary. + + + Determines whether this dictionary contains a specified key. + true if a match for is found; otherwise, false. + The key to search for. + The matching key located in the dictionary if found, or if no match is found. + + + Returns the value associated with the specified key. + true if the object that implements the immutable dictionary contains an element with the specified key; otherwise, false. + The key whose value will be retrieved. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, returns the default value for the type of the parameter. This parameter is passed uninitialized. + + is null. + + + Gets or sets the value comparer. + The value comparer. + + + Gets a collection that contains the values of the immutable dictionary. + A collection that contains the values of the object that implements the dictionary. + + + Enumerates the contents of the immutable dictionary without allocating any memory. + + + Gets the element at the current position of the enumerator. + The element in the dictionary at the current position of the enumerator. + + + Releases the resources used by the current instance of the class. + + + Advances the enumerator to the next element of the immutable dictionary. + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the dictionary. + The dictionary was modified after the enumerator was created. + + + Sets the enumerator to its initial position, which is before the first element in the dictionary. + The dictionary was modified after the enumerator was created. + + + Gets the current element in the dictionary. + The current element in the dictionary. + + + Provides a set of initialization methods for instances of the class. + + + Creates an empty immutable hash set. + An empty immutable hash set. + The type of items to be stored in the immutable hash set. + + + Creates an empty immutable hash set that uses the specified equality comparer. + An empty immutable hash set. + The object to use for comparing objects in the set for equality. + The type of items in the immutable hash set. + + + Creates a new immutable hash set that contains the specified item and uses the specified equality comparer for the set type. + A new immutable hash set that contains the specified item. + The object to use for comparing objects in the set for equality. + The item to prepopulate the hash set with. + The type of items in the immutable hash set. + + + Creates a new immutable hash set that contains the items in the specified collection and uses the specified equality comparer for the set type. + A new immutable hash set that contains the specified items. + The object to use for comparing objects in the set for equality. + An array that contains the items to prepopulate the hash set with. + The type of items stored in the immutable hash set. + + + Creates a new immutable hash set that contains the specified item. + A new immutable hash set that contains the specified item. + The item to prepopulate the hash set with. + The type of items in the immutable hash set. + + + Creates a new immutable hash set that contains the specified array of items. + A new immutable hash set that contains the specified items. + An array that contains the items to prepopulate the hash set with. + The type of items in the immutable hash set. + + + Creates a new immutable hash set builder. + The immutable hash set builder. + The type of items stored by the collection. + + + Creates a new immutable hash set builder. + The new immutable hash set builder. + The object to use for comparing objects in the set for equality. + The type of items stored by the collection. + + + Creates a new immutable hash set prefilled with the specified items. + The new immutable hash set that contains the specified items. + The items to add to the hash set. + The type of items stored by the collection. + + + Creates a new immutable hash set that contains the specified items and uses the specified equality comparer for the set type. + The new immutable hash set. + The object to use for comparing objects in the set for equality. + The items add to the collection before immutability is applied. + The type of items stored in the collection. + + + Enumerates a sequence and produces an immutable hash set of its contents. + An immutable hash set that contains the items in the specified sequence. + The sequence to enumerate. + The type of the elements in the sequence. + + + Enumerates a sequence, produces an immutable hash set of its contents, and uses the specified equality comparer for the set type. + An immutable hash set that contains the items in the specified sequence and uses the specified equality comparer. + The sequence to enumerate. + The object to use for comparing objects in the set for equality. + The type of the elements in the sequence. + + + Represents an immutable, unordered hash set. + The type of elements in the hash set. + + + Adds the specified element to the hash set. + true if the element is added to the hash set; false if the element already existed in the hash set. + The element to add to the set. + + + Retrieves an empty immutable hash set that has the same sorting and ordering semantics as this instance. + An empty hash set that has the same sorting and ordering semantics as this instance. + + + Determines whether this immutable hash set contains the specified element. + true if is found in the ; otherwise, false. + The object to locate in the immutable hash set. + + + Gets the number of elements in the immutable hash set. + The number of elements in the hash set. + + + Gets an immutable hash set for this type that uses the default . + An empty immutable hash set. + + + Removes the elements in the specified collection from the current immutable hash set. + A new set with the items removed; or the original set if none of the items were in the set. + The collection of items to remove from this set. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Creates an immutable hash set that contains elements that exist in both this set and the specified set. + A new immutable set that contains any elements that exist in both sets. + The collection to compare to the current set. + + + Gets a value that indicates whether the current immutable hash set is empty. + true if this instance is empty; otherwise, false. + + + Determines whether the current immutable hash set is a proper (strict) subset of a specified collection. + true if the current set is a proper subset of the specified collection; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable hash set is a proper (strict) superset of a specified collection. + true if the current set is a proper superset of the specified collection; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable hash set is a subset of a specified collection. + true if the current set is a subset of the specified collection; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable hash set is a superset of a specified collection. + true if the current set is a superset of the specified collection; otherwise, false. + The collection to compare to the current set. + + + Gets the object that is used to obtain hash codes for the keys and to check the equality of values in the immutable hash set. + The comparer used to obtain hash codes for the keys and check equality. + + + Determines whether the current immutable hash set overlaps with the specified collection. + true if the current set and the specified collection share at least one common element; otherwise, false. + The collection to compare to the current set. + + + Removes the specified element from this immutable hash set. + A new set with the specified element removed, or the current set if the element cannot be found in the set. + The element to remove. + + + Determines whether the current immutable hash set and the specified collection contain the same elements. + true if the sets are equal; otherwise, false. + The collection to compare to the current set. + + + Creates an immutable hash set that contains only elements that are present either in the current set or in the specified collection, but not both. + A new set that contains the elements that are present only in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Adds an item to the set. + The object to add to the set. + The set is read-only. + + + Removes all items from this set. + The set is read-only. + + + Copies the elements of the set to an array, starting at a particular index. + The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value that indicates whether the set is read-only. + true if the set is read-only; otherwise, false. + + + Removes the first occurrence of a specific object from the set. + true if the element is successfully removed; otherwise, false. + The object to remove from the set. + + + Returns an enumerator that iterates through the collection. + An enumerator that iterates through the collection. + + + Adds an element to the current set and returns a value that indicates whether the element was successfully added. + true if the element is added to the set; false if the element is already in the set. + The element to add to the collection. + + + Removes all elements in the specified collection from the current set. + The collection of items to remove. + + + Modifies the current set so that it contains only elements that are also in a specified collection. + The collection to compare to the current collection. + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection. + The collection to compare to the current set. + + + Copies the elements of the set to an array, starting at a particular index. + The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value that indicates whether access to the set is synchronized (thread safe). + true if access to the set is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the set. + An object that can be used to synchronize access to the set. + + + Returns an enumerator that iterates through a set. + An enumerator that can be used to iterate through the set. + + + Adds the specified element to this immutable set. + A new set with the element added, or this set if the element is already in the set. + The element to add. + + + Retrieves an empty set that has the same sorting and ordering semantics as this instance. + An empty set that has the same sorting or ordering semantics as this instance. + + + Removes the elements in the specified collection from the current set. + A new set with the items removed; or the original set if none of the items were in the set. + The collection of items to remove from this set. + + + Creates an immutable set that contains elements that exist in both this set and the specified set. + A new immutable set that contains any elements that exist in both sets. + The collection to compare to the current set. + + + Removes the specified element from this immutable set. + A new set with the specified element removed, or the current set if the element cannot be found in the set. + The element to remove. + + + Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. + A new set that contains the elements that are present only in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. + A new immutable set with the items added; or the original set if all the items were already in the set. + The collection to add elements from. + + + Creates an immutable hash set that has the same contents as this set and can be efficiently mutated across multiple operations by using standard mutable interfaces. + A set with the same contents as this set that can be efficiently mutated across multiple operations by using standard mutable interfaces. + + + Searches the set for a given value and returns the equal value it finds, if any. + A value indicating whether the search was successful. + The value to search for. + The value from the set that the search found, or the original value if the search yielded no match. + + + Creates a new immutable hash set that contains all elements that are present in either the current set or in the specified collection. + A new immutable hash set with the items added; or the original set if all the items were already in the set. + The collection to add elements from. + + + Gets an instance of the immutable hash set that uses the specified equality comparer for its search methods. + An instance of this immutable hash set that uses the given comparer. + The equality comparer to use. + + + Represents a hash set that mutates with little or no memory allocations and that can produce or build on immutable hash set instances very efficiently. + + + Adds the specified item to the immutable hash set. + true if the item did not already belong to the collection; otherwise, false. + The item to add. + + + Removes all items from the immutable hash set. + The hash set is read-only. + + + Determines whether the immutable hash set contains a specific value. + true if is found in the hash set ; otherwise, false. + The object to locate in the hash set. + + + Gets the number of elements contained in the immutable hash set. + The number of elements contained in the immutable hash set. + + + Removes all elements in the specified collection from the current hash set. + The collection of items to remove from the set. + + + Returns an enumerator that iterates through the immutable hash set. + An enumerator that can be used to iterate through the set. + + + Modifies the current set so that it contains only elements that are also in a specified collection. + The collection to compare to the current set. + + + Determines whether the current set is a proper (strict) subset of a specified collection. + true if the current set is a proper subset of ; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current set is a proper (strict) superset of a specified collection. + true if the current set is a proper superset of ; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current set is a subset of a specified collection. + true if the current set is a subset of ; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current set is a superset of a specified collection. + true if the current set is a superset of ; otherwise, false. + The collection to compare to the current set. + + + Gets or sets the key comparer. + The key comparer. + + + Determines whether the current set overlaps with the specified collection. + true if the current set and share at least one common element; otherwise, false. + The collection to compare to the current set. + + + Removes the first occurrence of a specific object from the immutable hash set. + true if was successfully removed from the set ; otherwise, false. This method also returns false if is not found in the original set. + The object to remove from the set. + The set is read-only. + + + Determines whether the current set and the specified collection contain the same elements. + true if the current set is equal to ; otherwise, false. + The collection to compare to the current set. + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Adds an item to the hash set. + The object to add to the set. + The set is read-only. + + + Copies the elements of the hash set to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the hash set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether the hash set is read-only. + true if the set is read-only; otherwise, false. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An enumerator that can be used to iterate through the collection. + + + Creates an immutable hash set based on the contents of this instance. + An immutable set. + + + Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. + The collection to compare to the current set. + + + Enumerates the contents of the immutable hash set without allocating any memory. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + Releases the resources used by the current instance of the class. + + + Advances the enumerator to the next element of the immutable hash set. + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the hash set. + The hash set was modified after the enumerator was created. + + + Sets the enumerator to its initial position, which is before the first element in the hash set. + The hash set was modified after the enumerator was created. + + + Gets the current element in the hash set. + The current element in the hash set. + + + Contains interlocked exchange mechanisms for immutable collections. + + + Obtains the value from a dictionary after having added it or updated an existing entry. + The added or updated value. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to add or update. + The function that receives the key and returns a new value to add to the dictionary when no value previously exists. + The function that receives the key and prior value and returns the new value with which to update the dictionary. + + + + + Obtains the value from a dictionary after having added it or updated an existing entry. + The added or updated value. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to add or update. + The value to use if no previous value exists. + The function that receives the key and prior value and returns the new value with which to update the dictionary. + + + + + Atomically enqueues an element to the end of a queue. + The variable or field to atomically update. + The value to enqueue. + The type of items contained in the collection + + + Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. + The value obtained from the dictionary or if it was not present. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to retrieve or add. + The function to execute to obtain the value to insert into the dictionary if the key is not found. This delegate will not be invoked more than once. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + + Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. + The value obtained from the dictionary or if it was not present. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to retrieve or add. + The function to execute to obtain the value to insert into the dictionary if the key is not found. + The argument to pass to the value factory. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + + + Obtains the value for the specified key from a dictionary, or adds a new value to the dictionary where the key did not previously exist. + The value obtained from the dictionary or if it was not present. + The variable or field to atomically update if the specified is not in the dictionary. + The key for the value to retrieve or add. + The value to add to the dictionary if it is not already present. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + + + + + + + + + + + Pushes a new element onto a stack. + The variable or field to atomically update. + The value to push. + The type of items in the stack. + + + Adds the specified key and value to the dictionary if no colliding key already exists in the dictionary. + true if the key was not previously set in the dictionary and the value was set; false otherwise. + The variable or field to atomically update if the specified is not in the dictionary. + The key to add, if is not already defined in the dictionary. + The value to add. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + + Atomically removes the element at the head of a queue and returns it to the caller, if the queue is not empty. + true if the queue was not empty and the head element was removed; false otherwise. + The variable or field to atomically update. + Receives the value from the head of the queue, if the queue is non-empty. + The type of items in the queue. + + + Pushes a new element onto a stack. + true if an element was removed from the stack; false otherwise. + The variable or field to atomically update. + The value popped from the stack, if it was non-empty. + The type of items in the stack. + + + Removes an entry from the dictionary with the specified key if it is defined and returns its value. + true if the key was found and removed; false otherwise. + The variable or field to atomically update if the specified is not in the dictionary. + The key to remove. + Receives the value from the pre-existing entry, if one exists. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + + Sets the specified key to the given value if the key already is set to a specific value. + true if the key and comparison value were present in the dictionary and the update was made; false otherwise. + The variable or field to atomically update if the specified is not in the dictionary. + The key to update. + The new value to set. + The value that must already be set in the dictionary in order for the update to succeed. + The type of the keys contained in the collection. + The type of the values contained in the collection. + + + Provides a set of initialization methods for instances of the class. + + + Creates an empty immutable list. + An empty . + The type of items to be stored in the . + + + Creates a new immutable list that contains the specified item. + A new that contains the specified item. + The item to prepopulate the list with. + The type of items in the . + + + Creates a new immutable list that contains the specified array of items. + A new immutable list that contains the specified items. + An array that contains the items to prepopulate the list with. + The type of items in the . + + + Creates a new immutable list builder. + The immutable collection builder. + The type of items stored by the collection. + + + Creates a new immutable list that contains the specified items. + Returns an immutable list that contains the specified items. + The items to add to the list. + The type of items in the . + + + Searches for the specified object and returns the zero-based index of the first occurrence within the list. + The zero-based index of the first occurrence of item within the range of elements in the list that extends from index to the last element, if found; otherwise, –1. + The list to search. + The object to locate in the list. The value can be null for reference types. + The type of items in the list. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the list. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from index to the last element, if found; otherwise, –1. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The equality comparer to use in the search. + The type of items in the list. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, –1. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The type of items in the list. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, –1. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The type of items in the list. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. + The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, –1. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The type of items in the list. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. + The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, –1. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The equality comparer to use in the search. + The type of items in the list. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, –1. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The zero-based starting index of the backward search. + The type of items in the list. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, –1. + The list to search. + The object to locate in the Immutable list. The value can be null for reference types. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The type of items in the list. + + + Removes the specified value from this list. + A new immutable list with the element removed, or this list if the element is not in this list. + The list to search. + The value to remove. + The type of items in the list. + + + Removes the specified values from this list. + A new immutable list with the elements removed. + The list to search. + The items to remove if matches are found in this list. + The type of items in the list. + + + Replaces the first equal element in the list with the specified element. + The new list -- even if the value being replaced is equal to the new value for that position. + The list to search. + The element to replace. + The element to replace the old element with. + The type of items in the list. + Thrown when the old value does not exist in the list. + + + Enumerates a sequence and produces an immutable list of its contents. + An immutable list that contains the items in the specified sequence. + The sequence to enumerate. + The type of the elements in the sequence. + + + Represents an immutable list, which is a strongly typed list of objects that can be accessed by index. + The type of elements in the list. + + + Adds the specified object to the end of the immutable list. + A new immutable list with the object added, or the current list if it already contains the specified object. + The object to add. + + + Adds the elements of the specified collection to the end of the immutable list. + A new immutable list with the elements added, or the current list if it already contains the specified elements. + The collection whose elements will be added to the end of the list. + + + Searches a range of elements in the sorted list for an element using the specified comparer and returns the zero-based index of the element. + The zero-based index of item in the sorted list;, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . + The zero-based starting index of the range to search. + The length of the range to search. + The object to locate. The value can be null for reference types. + The comparer implementation to use when comparing elements, or null to use the default comparer. + index is less than 0 or is less than 0. + index and do not denote a valid range in the list. + + is null, and the default comparer cannot find an comparer implementation for type T. + + + Searches the entire sorted list for an element using the default comparer and returns the zero-based index of the element. + The zero-based index of item in the sorted List;, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . + The object to locate. The value can be null for reference types. + The default comparer cannot find a comparer implementation of the for type T. + + + Searches the entire sorted list for an element using the specified comparer and returns the zero-based index of the element. + The zero-based index of item in the sorted List;, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of . + The object to locate. The value can be null for reference types. + The comparer implementation to use when comparing elements or null to use the default comparer. + comparer is null, and the default comparer cannot find an comparer implementation for type T. + + + Removes all elements from the immutable list. + An empty list that retains the same sort or unordered semantics that this instance has. + + + Determines whether this immutable list contains the specified value. + true if the list contains the specified value; otherwise, false. + The value to locate. + + + Converts the elements in the current immutable list to another type, and returns a list containing the converted elements. + A delegate that converts each element from one type to another type. + The type of the elements of the target array. + + + Copies a range of elements from the immutable list to a compatible one-dimensional array, starting at the specified index of the target array. + The zero-based index in the source immutable list at which copying begins. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + The zero-based index in array at which copying begins. + The number of elements to copy. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets the number of elements contained in the list. + The number of elements in the list. + + + Gets an empty set with the default sort comparer. + An empty immutable list that uses the default sort comparer. + + + Determines whether the immutable list contains elements that match the conditions defined by the specified predicate. + true if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, false. + The delegate that defines the conditions of the elements to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list. + The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . + The delegate that defines the conditions of the element to search for. + + + Retrieves all the elements that match the conditions defined by the specified predicate. + An immutable list that contains all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list. + The delegate that defines the conditions of the elements to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. + The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. + The zero-based starting index of the search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. + The zero-based starting index of the search. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list. + The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list. + The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. + The zero-based starting index of the backward search. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, ?1. + The delegate that defines the conditions of the element to search for. + + + Performs the specified action on each element of the immutable list. + The delegate to perform on each element of the immutable list. + + + Returns an enumerator that iterates through the immutable list. + An enumerator that can be used to iterate through the immutable list. + + + Creates a shallow copy of a range of elements in the source immutable list. + A shallow copy of a range of elements in the source immutable list. + The zero-based index at which the range starts. + The number of elements in the range. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the entire immutable list. + The zero-based index of the first occurrence of within the entire immutable list, if found; otherwise, ?1. + The object to locate in the immutable list. The value can be for reference types. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the list that starts at the specified index and contains the specified number of elements. + The zero-based index of the first occurrence of item within the range of elements in the list that starts at index and contains count number of elements, if found; otherwise, –1. + The object to locate in the list The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + The equality comparer to use in the search. + + + Inserts the specified object into the immutable list at the specified index. + The new immutable list after the object is inserted. + The zero-based index at which to insert the object. + The object to insert. + + + Inserts the elements of a collection into the immutable list at the specified index. + The new immutable list after the elements are inserted. + The zero-based index at which to insert the elements. + The collection whose elements should be inserted. + + + Gets a value that indicates whether this list is empty. + true if the list is empty; otherwise, false. + + + Gets the element at the specified index of the list. + The element at the specified index. + The index of the element to retrieve. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the list that contains the specified number of elements and ends at the specified index. + The zero-based index of the last occurrence of item within the range of elements in the list that contains count number of elements and ends at index, if found; otherwise, –1. + The object to locate in the list. The value can be null for reference types. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The equality comparer to use in the search. + + + Removes the first occurrence of the specified object from this immutable list. + A new list with the object removed, or this list if the specified object is not in this list. + The object to remove. + + + Removes the first occurrence of the object that matches the specified value from this immutable list. + A new list with the object removed, or this list if the specified object is not in this list. + The value of the element to remove from the list. + The equality comparer to use in the search. + + + Removes all the elements that match the conditions defined by the specified predicate. + The new list with the elements removed. + The delegate that defines the conditions of the elements to remove. + + + Removes the element at the specified index. + A new list with the element removed. + The zero-based index of the element to remove. + + + Removes a range of elements from this immutable list. + A new list with the elements removed. + The collection whose elements should be removed if matches are found in this list. + + + Removes the specified values from this list. + A new list with the elements removed. + The items to remove if matches are found in this list. + The equality comparer to use in the search. + + + Removes a range of elements, starting from the specified index and containing the specified number of elements, from this immutable list. + A new list with the elements removed. + The starting index to begin removal. + The number of elements to remove. + + + Replaces the specified element in the immutable list with a new element. + The new list with the replaced element, even if it is equal to the old element. + The element to replace. + The element to replace with. + + does not exist in the immutable list. + + + Replaces the specified element in the immutable list with a new element. + A new list with the object replaced, or this list if the specified object is not in this list. + The element to replace in the list. + The element to replace with. + The comparer to use to check for equality. + + + Reverses the order of the elements in the entire immutable list. + The reversed list. + + + Reverses the order of the elements in the specified range of the immutable list. + The reversed list. + The zero-based starting index of the range to reverse. + The number of elements in the range to reverse. + + + Replaces an element at a given position in the immutable list with the specified element. + The new list with the replaced element, even if it is equal to the old element at that position. + The position in the list of the element to replace. + The element to replace the old element with. + + + Sorts the elements in the entire immutable list using the default comparer. + The sorted list. + + + Sorts the elements in the entire immutable list using the specified comparer. + The sorted list. + The implementation to use when comparing elements, or null to use the default comparer (). + + + Sorts the elements in the entire immutable list using the specified . + The sorted list. + The delegate to use when comparing elements. + + + Sorts a range of elements in the immutable list using the specified comparer. + The sorted list. + The zero-based starting index of the range to sort. + The length of the range to sort. + The implementation to use when comparing elements, or null to use the default comparer (). + + + Adds the specified item to the immutable list. + The item to add. + + + + Removes all items from the immutable list. + + + + Gets a value that indicates whether the list is read-only. + true if the list is read-only; otherwise, false. + + + Removes the first occurrence of a specific object from the immutable list. + true if was successfully removed from the list; otherwise, false. This method also returns false if is not found in the original list. + The object to remove. + + + Returns an enumerator that iterates through the immutable list. + An enumerator that can be used to iterate through the list. + + + Inserts an object in the immutable list at the specified index. + The zero-based index at which should be inserted. + The object to insert. + + + + Gets or sets the element at the specified index. + The element at the specified index. If no item was returned, the property throws a . + The index of the item to get or set. + + + Removes the value at the specified index. + The zero-based index of the item to remove. + + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the specified array index. + The one-dimensional array that is the destination of the elements copied from immutable list. + The zero-based index in at which copying begins. + + + Gets a value that indicates whether access to the list is synchronized. + true if the access to the list is synchronized; otherwise, false. + + + Gets an object that can be used to synchronize access to the . + An object that can be used to synchronize access to the list. + + + Returns an enumerator that iterates through the immutable list. + An enumerator that can be used to iterate through the list. + + + Adds an item to the immutable list. + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the list. + The object to add to the list. + + + + Removes all items from the immutable list. + + + + Determines whether the immutable list contains a specific value. + true if the object is found in the list; otherwise, false. + The object to locate in the list. + + + + Determines the index of a specific item in the immutable list. + The index of if found in the list; otherwise, -1. + The object to locate in the list. + + + + Inserts an item into the immutable list at the specified index. + The zero-based index at which should be inserted. + The object to insert into the list. + + + + Gets a value that indicates whether the list has a fixed size. + true if the list has a fixed size; otherwise, false. + + + Gets a value that indicates whether the immutable list is read-only. + true if the list is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The element at the specified index. + The index of the item to get or set. + + + Removes the first occurrence of a specific object from the immutable list. + The object to remove from the list. + + + + Removes the item at the specified index of the immutable list. + The zero-based index of the item to remove. + + + + Adds the specified value to this immutable list. + A new list with the element added, or this list if the element is already in the list. + The value to add. + + + Adds the specified values to this immutable list. + A new list with the elements added, or this list if the elements are already in the list. + The values to add. + + + Retrieves an empty list that has the same sorting and ordering semantics as this instance. + An empty list that has the same sorting and ordering semantics as this instance. + + + Inserts the specified element at the specified index in the immutable list. + A new immutable list that includes the specified element. + The index at which to insert the value. + The element to insert. + + + Inserts the specified elements at the specified index in the immutable list. + A new immutable list that includes the specified elements. + The index at which to insert the elements. + The elements to insert. + + + Removes the element with the specified value from the list. + Returns a new with the specified element removed. + The value of the element to remove from the list. + The comparer to use to compare elements for equality. + + + Removes all the elements that match the conditions defined by the specified predicate. + A new immutable list with the elements removed. + The delegate that defines the conditions of the elements to remove. + + + Removes the element at the specified index of the immutable list. + A new list with the element removed. + The index of the element to remove. + + + Removes a range of elements from this immutable list that match the items specified. + An immutable list with the items removed. + The range of items to remove from the list, if found. + The equality comparer to use to compare elements. + + or is null. + + + Removes the specified number of elements at the specified location from this list. + A new list with the elements removed. + The starting index of the range of elements to remove. + The number of elements to remove. + + + Replaces an element in the list with the specified element. + The new list. + The element to replace. + The element to replace the old element with. + The equality comparer to use in the search. + Thrown when the old value does not exist in the list. + + + Replaces an element in the list at a given position with the specified element. + The new list. + The position in the list of the element to replace. + The element to replace the old element with. + + + Creates a list that has the same contents as this list and can be efficiently mutated across multiple operations using standard mutable interfaces. + The created list with the same contents as this list. + + + Determines whether every element in the immutable list matches the conditions defined by the specified predicate. + true if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, false. If the list has no elements, the return value is true. + The delegate that defines the conditions to check against the elements. + + + Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently. + + + Adds an item to the immutable list. + The item to add to the list. + + + + Searches the specified range of the for an element using the specified comparer and returns the zero-based index of the element. + The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . + The zero-based starting index of the range to search. + The length of the range to search. + The object to locate. This value can be null for reference types. + The implementation to use when comparing elements, or null for the default comparer. + + + Searches the entire for an element using the default comparer and returns the zero-based index of the element. + The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . + The object to locate. The value can be null for reference types. + + + Searches the entire for an element using the specified comparer and returns the zero-based index of the element. + The zero-based index of item in the , if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than . + The object to locate. This value can be null for reference types. + The implementation to use when comparing elements, or null for the default comparer. + + + Removes all items from the immutable list. + + + Determines whether the immutable list contains a specific value. + true if item is found in the list; otherwise, false. + The object to locate in the list. + + + Creates a new immutable list from the list represented by this builder by using the converter function. + A new immutable list from the list represented by this builder. + The converter function. + The type of the output of the delegate converter function. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. + The zero-based index in the source immutable list at which copying begins. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + The zero-based index in at which copying begins. + The number of elements to copy. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + + + Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array. + The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing. + The zero-based index in array at which copying begins. + + + Gets the number of elements in this immutable list. + The number of elements in this list. + + + Determines whether the immutable list contains elements that match the conditions defined by the specified predicate. + true if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, false. + The delegate that defines the conditions of the elements to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list. + The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type . + The delegate that defines the conditions of the element to search for. + + + Retrieves all the elements that match the conditions defined by the specified predicate. + An immutable list containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list. + The delegate that defines the conditions of the elements to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. + The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. + The zero-based starting index of the search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. + The zero-based starting index of the search. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list. + The zero-based index of the first occurrence of an element that matches the conditions defined by , if found; otherwise, –1. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list. + The last element that matches the conditions defined by the specified predicate, found; otherwise, the default value for type . + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. + The zero-based starting index of the backward search. + The number of elements in the section to search. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. + The zero-based starting index of the backward search. + The delegate that defines the conditions of the element to search for. + + + Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list. + The zero-based index of the last occurrence of an element that matches the conditions defined by , if found; otherwise, –1. + The delegate that defines the conditions of the element to search for. + + + Performs the specified action on each element of the list. + The delegate to perform on each element of the list. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the list. + + + Creates a shallow copy of a range of elements in the source immutable list. + A shallow copy of a range of elements in the source immutable list. + The zero-based index at which the range starts. + The number of elements in the range. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list. + The zero-based index of the first occurrence of within the range of elements in the immutable list, if found; otherwise, –1. + The object to locate in the immutable list. The value can be null for reference types. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from to the last element, if found; otherwise, –1. + The object to locate in the immutable list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, –1. + The object to locate in the immutable list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements in the section to search. + + + Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, –1 + The object to locate in the immutable list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements to search. + The value comparer to use for comparing elements for equality. + + + Inserts an item to the immutable list at the specified index. + The zero-based index at which should be inserted. + The object to insert into the immutable list. + + + Inserts the elements of a collection into the immutable list at the specified index. + The zero-based index at which the new elements should be inserted. + The collection whose elements should be inserted into the immutable list. The collection itself cannot be null, but it can contain elements that are null, if type is a reference type. + + + Gets or sets the value for a given index in the list. + The value at the specified index. + The index of the item to get or set. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list. + The zero-based index of the last occurrence of within the entire immutable list, if found; otherwise, –1. + The object to locate in the immutable list. The value can be null for reference types. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index. + The zero-based index of the last occurrence of within the range of elements in the immutable list that extends from the first element to , if found; otherwise, –1. + The object to locate in the immutable list. The value can be null for reference types. + The zero-based starting index of the backward search. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. + The zero-based index of the last occurrence of within the range of elements in the immutable list that contains number of elements and ends at , if found; otherwise, –1. + The object to locate in the immutable list. The value can be null for reference types. + The zero-based starting index of the backward search. + The number of elements in the section to search. + + + Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index. + The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at and contains number of elements, if found; otherwise, –1 + The object to locate in the immutable list. The value can be null for reference types. + The zero-based starting index of the search. 0 (zero) is valid in an empty list. + The number of elements to search. + The value comparer to use for comparing elements for equality. + + + Removes the first occurrence of a specific object from the immutable list. + true if item was successfully removed from the list; otherwise, false. This method also returns false if item is not found in the list. + The object to remove from the list. + + + Removes all the elements that match the conditions defined by the specified predicate. + The number of elements removed from the immutable list. + The delegate that defines the conditions of the elements to remove. + + + Removes the item at the specified index of the immutable list. + The zero-based index of the item to remove from the list. + + + Reverses the order of the elements in the entire immutable list. + + + Reverses the order of the elements in the specified range of the immutable list. + The zero-based starting index of the range to reverse. + The number of elements in the range to reverse. + + + Sorts the elements in the entire immutable list by using the default comparer. + + + Sorts the elements in the entire immutable list by using the specified comparer. + The implementation to use when comparing elements, or null to use the default comparer (). + + + Sorts the elements in the entire immutable list by using the specified comparison object. + The object to use when comparing elements. + + + Sorts the elements in a range of elements in the immutable list by using the specified comparer. + The zero-based starting index of the range to sort. + The length of the range to sort. + The implementation to use when comparing elements, or null to use the default comparer (). + + + Gets a value indicating whether this instance is read-only. + true if the list is read-only; otherwise, false. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the list to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the list. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Gets a value indicating whether access to the list is synchronized (thread safe). + true if access to the list is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the list. + An object that can be used to synchronize access to the list. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Adds an item to the list. + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. + The object to add to the list. + + + + Removes all items from the list. + + + + Determines whether the list contains a specific value. + true if the is found in the list; otherwise, false. + The object to locate in the list. + + + + Determines the index of a specific item in the list. + The index of if found in the list; otherwise, -1. + The object to locate in the list. + + + + Inserts an item to the list at the specified index. + The zero-based index at which should be inserted. + The object to insert into the list. + + + + Gets a value indicating whether the list has a fixed size. + true if the list has a fixed size; otherwise, false. + + + Gets a value indicating whether the list is read-only. + Always false. + + + Gets or sets the at the specified index. + The object at the specified index. + The index of the item to get or set. + + + Removes the first occurrence of a specific object from the list. + The object to remove from the list. + + + + Creates an immutable list based on the contents of this instance. + An immutable list. + + + Determines whether every element in the immutable list matches the conditions defined by the specified predicate. + true if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, false. If the list has no elements, the return value is true. + The delegate that defines the conditions to check against the elements. + + + Enumerates the contents of a binary tree. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + Releases the resources used by the current instance of the class. + + + Advances enumeration to the next element of the immutable list. + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the list. + + + Sets the enumerator to its initial position, which is before the first element in the immutable list. + + + Gets the current element in the immutable list. + The current element in the immutable list. + + + Provides a set of initialization methods for instances of the class. + + + Creates an empty immutable queue. + An empty immutable queue. + The type of items to be stored in the immutable queue. + + + Creates a new immutable queue that contains the specified item. + A new immutable queue that contains the specified item. + The item to prepopulate the queue with. + The type of items in the immutable queue. + + + Creates a new immutable queue that contains the specified array of items. + A new immutable queue that contains the specified items. + An array that contains the items to prepopulate the queue with. + The type of items in the immutable queue. + + + Creates a new immutable queue that contains the specified items. + An immutable queue that contains the specified items. + The items to add to the queue before immutability is applied. + The type of elements in the queue. + + + Removes the item at the beginning of the immutable queue, and returns the new queue. + The new queue with the item removed. + The queue to remove the item from. + When this method returns, contains the item from the beginning of the queue. + The type of elements in the immutable queue. + + + Represents an immutable queue. + The type of elements in the queue. + + + Removes all objects from the immutable queue. + The empty immutable queue. + + + Removes the element at the beginning of the immutable queue, and returns the new queue. + The new immutable queue; never null. + + + Removes the item at the beginning of the immutable queue, and returns the new queue. + The new immutable queue with the beginning element removed. + When this method returns, contains the element from the beginning of the queue. + + + Gets an empty immutable queue. + An empty immutable queue. + + + Adds an element to the end of the immutable queue, and returns the new queue. + The new immutable queue. + The element to add. + + + Returns an enumerator that iterates through the immutable queue. + An enumerator that can be used to iterate through the queue. + + + Gets a value that indicates whether this immutable queue is empty. + true if this queue is empty; otherwise, false. + + + Returns the element at the beginning of the immutable queue without removing it. + The element at the beginning of the queue. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + + + Removes all elements from the immutable queue. + The empty immutable queue. + + + Removes the element at the beginning of the immutable queue, and returns the new queue. + The new immutable queue; never null. + + + Adds an element to the end of the immutable queue, and returns the new queue. + The new immutable queue. + The element to add. + + + Enumerates the contents of an immutable queue without allocating any memory. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + Advances the enumerator to the next element of the immutable queue. + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the queue. + + + Provides a set of initialization methods for instances of the class. + + + Creates an empty immutable sorted dictionary. + An empty immutable sorted dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates an empty immutable sorted dictionary that uses the specified key comparer. + An empty immutable sorted dictionary. + The implementation to use to determine the equality of keys in the dictionary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates an empty immutable sorted dictionary that uses the specified key and value comparers. + An empty immutable sorted dictionary. + The implementation to use to determine the equality of keys in the dictionary. + The implementation to use to determine the equality of values in the dictonary. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates a new immutable sorted dictionary builder. + The immutable collection builder. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates a new immutable sorted dictionary builder. + The immutable collection builder. + The key comparer. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates a new immutable sorted dictionary builder. + The immutable collection builder. + The key comparer. + The value comparer. + The type of keys stored by the dictionary. + The type of values stored by the dictionary. + + + Creates a new immutable sorted dictionary from the specified range of items with the specified key comparer. + The new immutable sorted dictionary that contains the specified items and uses the specified key comparer. + The comparer implementation to use to evaluate keys for equality and sorting. + The items to add to the sorted dictionary. + The type of keys stored in the dictionary. + The type of values stored in the dictionary. + + + Creates a new immutable sorted dictionary from the specified range of items with the specified key and value comparers. + An immutable sorted dictionary that contains the specified items and uses the specified comparers. + The comparer implementation to use to compare keys for equality and sorting. + The comparer implementation to use to compare values for equality and sorting. + The items to add to the sorted dictionary before it’s immutable. + The type of keys stored in the dictionary. + The type of values stored in the dictionary. + + + Creates an immutable sorted dictionary that contains the specified items and uses the default comparer. + An immutable sorted dictionary that contains the specified items. + The items to add to the sorted dictionary before it’s immutable. + The type of keys stored in the dictionary. + The type of values stored in the dictionary. + + + Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents. + An immutable sorted dictionary that contains the key/value pairs in the specified sequence. + The sequence of key/value pairs to enumerate. + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer. + An immutable sorted dictionary that contains the key/value pairs in the specified sequence. + The sequence of key/value pairs to enumerate. + The key comparer to use when building the immutable dictionary. + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents by using the specified key and value comparers. + An immutable sorted dictionary that contains the key/value pairs in the specified sequence. + The sequence of key/value pairs to enumerate. + The key comparer to use when building the immutable dictionary. + The value comparer to use for the immutable dictionary. + The type of the keys in the dictionary. + The type of the values in the dictionary. + + + Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents. + An immutable sorted dictionary that contains the items in the specified sequence. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + + + Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key comparer. + An immutable dictionary that contains the items in the specified sequence. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The key comparer to use for the dictionary. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + + + Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key and value comparers. + An immutable sorted dictionary that contains the items in the specified sequence. + The sequence to enumerate to generate the dictionary. + The function that will produce the key for the dictionary from each sequence element. + The function that will produce the value for the dictionary from each sequence element. + The key comparer to use for the dictionary. + The value comparer to use for the dictionary. + The type of the elements in the sequence. + The type of the keys in the resulting dictionary. + The type of the values in the resulting dictionary. + + + Represents an immutable sorted dictionary. + The type of the key contained in the dictionary. + The type of the value contained in the dictionary. + + + Adds an element with the specified key and value to the immutable sorted dictionary. + A new immutable sorted dictionary that contains the additional key/value pair. + The key of the entry to add. + The value of entry to add. + The given key already exists in the dictionary but has a different value. + + + Adds the specific key/value pairs to the immutable sorted dictionary. + A new immutable dictionary that contains the additional key/value pairs. + The key/value pairs to add. + One of the given keys already exists in the dictionary but has a different value. + + + Retrieves an empty immutable sorted dictionary that has the same ordering and key/value comparison rules as this dictionary instance. + An empty dictionary with equivalent ordering and key/value comparison rules. + + + Determines whether this immutable sorted dictionary contains the specified key/value pair. + true if the specified key/value pair is found in the dictionary; otherwise, false. + The key/value pair to locate. + + + Determines whether this immutable sorted map contains the specified key. + true if the immutable dictionary contains the specified key; otherwise, false. + The key to locate. + + + Determines whether the immutable sorted dictionary contains an element with the specified value. + true if the dictionary contains an element with the specified value; otherwise, false. + The value to locate. The value can be null for reference types. + + + Gets the number of key/value pairs in the immutable sorted dictionary. + The number of key/value pairs in the dictionary. + + + Gets an empty immutable sorted dictionary. + An empty immutable sorted dictionary. + + + Returns an enumerator that iterates through the immutable sorted dictionary. + An enumerator that can be used to iterate through the dictionary. + + + Gets a value that indicates whether this instance of the immutable sorted dictionary is empty. + true if this instance is empty; otherwise, false. + + + Gets the associated with the specified key. + The value associated with the specified key. If no results are found, the operation throws an exception. + The key to retrieve the value for. + + + Gets the key comparer for the immutable sorted dictionary. + The key comparer for the dictionary. + + + Gets the keys in the immutable sorted dictionary. + The keys in the immutable dictionary. + + + Removes the element with the specified value from the immutable sorted dictionary. + A new immutable dictionary with the specified element removed; or this instance if the specified value cannot be found in the dictionary. + The value of the element to remove. + + + Removes the elements with the specified keys from the immutable sorted dictionary. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + The keys of the elements to remove. + + + Sets the specified key and value in the immutable sorted dictionary, possibly overwriting an existing value for the given key. + A new immutable sorted dictionary that contains the specified key/value pair. + The key of the entry to add. + The key value to set. + + + Sets the specified key/value pairs in the immutable sorted dictionary, possibly overwriting existing values for the keys. + An immutable dictionary that contains the specified key/value pairs. + The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. + + + Adds the specified item to the collection. + The item to add. + + + Removes all the items from the collection. + + + Copies the elements of the collection to an array, starting at the specified index. + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether the immutable dictionary is read-only. + true if the immutable dictionary is read only; otherwise, false. + + + Removes the first occurrence of the specified object from the immutable dictionary. + true if the item was successfully removed; otherwise, false. + The item to remove from the dictionary. + + + Adds an element with the provided key and value to the immutable dictionary. + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + is null. + An element with the same key already exists in the dictionary. + The dictionary is read-only. + + + Gets or sets the element with the specified key. + The element with the specified key. If no element is returned, throws a . + The key of the element to get or set. + + + Gets a collection containing the keys of the immutable dictionary. + A collection of keys. + + + Removes the element with the specified key from the immutable dictionary. + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original dictionary. + The key of the element to remove. + + is null. + The dictionary is read-only. + + + Gets a collection containing the values of the immutable dictionary. + A collection of values of the object that implements the immutable dictionary. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Copies the elements of the dictionary to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether access to the immutable dictionary is synchronized (thread safe). + true if access to the dictionary is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the immutable dictionary. + An object that can be used to synchronize access to the dictionary. + + + Adds an element with the provided key and value to the dictionary object. + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + + Clears this instance. + The dictionary object is read-only. + + + Determines whether the immutable dictionary object contains an element with the specified key. + true if the dictionary contains an element with the key; otherwise, false. + The key to locate in the dictionary object. + + + Returns an object for the immutable dictionary object. + An enumerator object for the dictionary object. + + + Gets a value indicating whether the immutable dictionary object has a fixed size. + true if the dictionary object has a fixed size; otherwise, false. + + + Gets a value indicating whether the immutable dictionary is read-only. + true if the dictionary is read-only; otherwise, false. + + + Gets or sets the element with the specified key. + The element with the specified key, or null if the key does not exist. + The key of the element to get or set. + + + Gets an object containing the keys of the immutable dictionary. + An object containing the keys of the immutable dictionary. + + + Removes the element with the specified key from the immutable dictionary object. + The key of the element to remove. + + + Gets an object containing the values in the immutable dictionary. + An containing the values in the immutable dictionary. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Adds an element with the specified key and value to the immutable dictionary. + A new immutable dictionary that contains the additional key/value pair. + The key of the element to add. + The value of the element to add. + + + Adds the specified key/value pairs to the immutable dictionary. + A new immutable dictionary that contains the additional key/value pairs. + The key/value pairs to add. + + + Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance. + An empty dictionary with equivalent ordering and key/value comparison rules. + + + Removes the element with the specified key from the immutable dictionary. + A new immutable dictionary with the matching entry removed; or this instance if the specified key cannot be found in the dictionary. + The key of the element to remove. + + + Removes the elements with the specified keys from the immutable dictionary. + A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary. + The keys of the elements to remove. + + + Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key. + A new immutable dictionary that contains the specified key/value pair. + The key of the entry to add. + The key value to set. + + + Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys. + A new immutable dictionary that contains the specified key/value pairs. + The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values. + + + Creates an immutable sorted dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces. + A collection with the same contents as this dictionary. + + + Determines whether this dictionary contains a specified key. + true if a match for is found; otherwise, false. + The key to search for. + The matching key located in the dictionary if found, or if no match is found. + + + Gets the value associated with the specified key. + true if the dictionary contains an element with the specified key; otherwise, false. + The key whose value will be retrieved. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. + + + Gets the value comparer used to determine whether values are equal. + The value comparer used to determine whether values are equal. + + + Gets the values in the immutable sorted dictionary. + The values in the dictionary. + + + Gets an instance of the immutable sorted dictionary that uses the specified key comparer. + An instance of the immutable dictionary that uses the given comparer. + The key comparer to use. + + + Gets an instance of the immutable sorted dictionary that uses the specified key and value comparers. + An instance of the immutable dictionary that uses the given comparers. + The key comparer to use. + The value comparer to use. + + + Represents a sorted dictionary that mutates with little or no memory allocations and that can produce or build on immutable sorted dictionary instances very efficiently. + + + Adds the specified item to the immutable sorted dictionary. + The object to add to the dictionary. + + + Adds an element that has the specified key and value to the immutable sorted dictionary. + The key of the element to add. + The value of the element to add. + + + Adds a sequence of values to the immutable sorted dictionary. + The items to add to the dictionary. + + + Removes all items from the immutable sorted dictionary. + + + Determines whether the immutable sorted dictionary contains a specific value. + true if is found in the dictionary; otherwise, false. + The object to locate in the dictionary. + + + Determines whether the immutable sorted dictionary contains an element with the specified key. + true if the dictionary contains an element with the key; otherwise, false. + The key to locate in the dictionary. + + + Determines whether the immutable sorted dictionary contains an element with the specified value. + true if the immutable sorted dictionary contains an element with the specified value; otherwise, false. + The value to locate in the dictionary. The value can be null for reference types. + + + Gets the number of elements in this immutable sorted dictionary. + The number of elements in this dictionary. + + + Returns an enumerator that iterates through the immutable sorted dictionary. + An enumerator that can be used to iterate through the dictionary. + + + Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value. + The value for the key, or default(TValue) if no matching key was found. + The key to search for. + + + Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value. + The value for the key, or if no matching key was found. + The key to search for. + The default value to return if no matching key is found in the dictionary. + + + Gets or sets the value for a specified key in the immutable sorted dictionary. + The value associated with the given key. + The key to retrieve the value for. + + + Gets or sets the key comparer. + The key comparer. + + + Gets a strongly typed, read-only collection of elements. + A strongly typed, read-only collection of elements. + + + Removes the first occurrence of a specific object from the immutable sorted dictionary. + true if was successfully removed from the dictionary; otherwise, false. This method also returns false if is not found in the dictionary. + The object to remove from the dictionary. + + + Removes the element with the specified key from the immutable sorted dictionary. + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original dictionary. + The key of the element to remove. + + + Removes any entries with keys that match those found in the specified sequence from the immutable sorted dictionary. + The keys for entries to remove from the dictionary. + + + Copies the elements of the dictionary to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether the dictionary is read-only. + Always false. + + + Gets an containing the keys of the dictionary. + An containing the keys of the object that implements the dictionary. + + + Gets an containing the values in the dictionary. + An containing the values in the object that implements the dictionary. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Copies the elements of the dictionary to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether access to the dictionary is synchronized (thread safe). + true if access to the dictionary is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the dictionary. + An object that can be used to synchronize access to the dictionary. + + + Adds an element with the provided key and value to the dictionary object. + The key of the element to add. + The value of the element to add. + + + Determines whether the dictionary object contains an element with the specified key. + true if the dictionary contains an element with the key; otherwise, false. + The key to locate. + + + Returns an object for the dictionary. + An object for the dictionary. + + + Gets a value indicating whether the dictionary object has a fixed size. + true if the dictionary object has a fixed size; otherwise, false. + + + Gets a value indicating whether the dictionary is read-only. + true if the dictionary is read-only; otherwise, false. + + + Gets or sets the element with the specified key. + The element that has the specified key. + The key that specifies the item to get or set. + + + Gets an containing the keys of the dictionary. + An containing the keys of the object that implements the dictionary. + + + Removes the element with the specified key from the dictionary. + The key of the element to remove. + + + Gets an containing the values in the dictionary. + An containing the values in the object that implements the dictionary. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Creates an immutable sorted dictionary based on the contents of this instance. + An immutable sorted dictionary. + + + Determines whether this dictionary contains a specified key. + true if a match for is found; otherwise, false. + The key to search for. + The matching key located in the dictionary if found, or if no match is found. + + + Gets the value associated with the specified key. + true if the object that implements the dictionary contains an element with the specified key; otherwise, false. + The key whose value will be retrieved. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the parameter. This parameter is passed uninitialized. + + + Gets or sets the value comparer. + The value comparer. + + + Gets a collection that contains the values of the immutable sorted dictionary. + A collection that contains the values of the object that implements the dictionary. + + + Enumerates the contents of a binary tree. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + Releases the resources used by the current instance of the class. + + + Advances the enumerator to the next element of the immutable sorted dictionary. + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sorted dictionary. + + + Sets the enumerator to its initial position, which is before the first element in the immutable sorted dictionary. + + + Gets the current element in the immutable sorted dictionary. + The current element in the immutable sorted dictionary. + + + Provides a set of initialization methods for instances of the class. + + + Creates an empty immutable sorted set. + An empty immutable sorted set. + The type of items to be stored in the immutable set. + + + Creates an empty immutable sorted set that uses the specified comparer. + An empty immutable set. + The implementation to use when comparing items in the set. + The type of items in the immutable set. + + + Creates a new immutable sorted set that contains the specified item and uses the specified comparer. + A new immutable set that contains the specified item. + The implementation to use when comparing items in the set. + The item to prepopulate the set with. + The type of items stored in the immutable set. + + + Creates a new immutable sorted set that contains the specified array of items and uses the specified comparer. + A new immutable set that contains the specified items. + The implementation to use when comparing items in the set. + An array that contains the items to prepopulate the set with. + The type of items in the immutable set. + + + Creates a new immutable sorted set that contains the specified item. + A new immutable set that contains the specified item. + The item to prepopulate the set with. + The type of items in the immutable set. + + + Creates a new immutable sorted set that contains the specified array of items. + A new immutable set that contains the specified items. + An array that contains the items to prepopulate the set with. + The type of items in the immutable set. + + + Returns a collection that can be used to build an immutable sorted set. + The immutable collection builder. + The type of items stored by the collection. + + + Returns a collection that can be used to build an immutable sorted set. + The immutable collection. + The comparer used to compare items in the set for equality. + The type of items stored by the collection. + + + Creates a new immutable collection that contains the specified items. + The new immutable set that contains the specified items. + The comparer to use to compare elements in this set. + The items to add to the set before it’s immutable. + The type of items stored by the collection. + + + Creates a new immutable collection that contains the specified items. + The new immutable set that contains the specified items. + The items to add to the set with before it’s immutable. + The type of items stored by the collection. + + + Enumerates a sequence and produces an immutable sorted set of its contents. + An immutable sorted set that contains the items in the specified sequence. + The sequence to enumerate. + The type of the elements in the sequence. + + + Enumerates a sequence, produces an immutable sorted set of its contents, and uses the specified comparer. + An immutable sorted set that contains the items in the specified sequence. + The sequence to enumerate. + The comparer to use for initializing and adding members to the sorted set. + The type of the elements in the sequence. + + + Represents an immutable sorted set implementation. + The type of elements in the set. + + + Adds the specified value to this immutable sorted set. + A new set with the element added, or this set if the element is already in this set. + The value to add. + + + Removes all elements from the immutable sorted set. + An empty set with the elements removed. + + + Determines whether this immutable sorted set contains the specified value. + true if the set contains the specified value; otherwise, false. + The value to check for. + + + Gets the number of elements in the immutable sorted set. + The number of elements in the immutable sorted set. + + + Gets an empty immutable sorted set. + An empty immutable sorted set. + + + Removes a specified set of items from this immutable sorted set. + A new set with the items removed; or the original set if none of the items were in the set. + The items to remove from this set. + + + Returns an enumerator that iterates through the immutable sorted set. + An enumerator that can be used to iterate through the set. + + + Gets the position within this immutable sorted set that the specified value appears in. + The index of the specified in the sorted set, if is found. If is not found and is less than one or more elements in this set, this method returns a negative number that is the bitwise complement of the index of the first element that is larger than value. If is not found and is greater than any of the elements in the set, this method returns a negative number that is the bitwise complement of the index of the last element plus 1. + The value whose position is being sought. + + + Creates an immutable sorted set that contains elements that exist both in this set and in the specified set. + A new immutable sorted set that contains any elements that exist in both sets. + The set to intersect with this one. + + + Gets a value that indicates whether this immutable sorted set is empty. + true if this set is empty; otherwise, false. + + + Determines whether the current immutable sorted set is a proper (strict) subset of the specified collection. + true if the current set is a proper subset of ; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable sorted set is a proper superset of a specified collection. + true if the current set is a proper superset of ; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable sorted set is a subset of a specified collection. + true if the current set is a subset of ; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current immutable sorted set is a superset of a specified collection. + true if the current set is a superset of ; otherwise, false. + The collection to compare to the current set. + + + Gets the element of the immutable sorted set at the given index. + The element at the given index. + The index of the element to retrieve from the sorted set. + + + Gets the comparer used to sort keys in the immutable sorted set. + The comparer used to sort keys. + + + Gets the maximum value in the immutable sorted set, as defined by the comparer. + The maximum value in the set. + + + Gets the minimum value in the immutable sorted set, as defined by the comparer. + The minimum value in the set. + + + Determines whether the current immutable sorted set and a specified collection share common elements. + true if the current set and share at least one common element; otherwise, false. + The collection to compare to the current set. + + + Removes the specified value from this immutable sorted set. + A new immutable sorted set with the element removed, or this set if the element was not found in the set. + The element to remove. + + + Returns an that iterates over this immutable sorted set in reverse order. + An enumerator that iterates over the immutable sorted set in reverse order. + + + Determines whether the current immutable sorted set and the specified collection contain the same elements. + true if the sets are equal; otherwise, false. + The collection to compare to the current set. + + + Creates an immutable sorted set that contains elements that exist either in this set or in a given sequence, but not both. + The new immutable sorted set. + The other sequence of items. + + + Adds the specified value to the collection. + The value to add. + + + Removes all the items from the collection. + + + Copies the elements of the collection to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether the immutable sorted set is read-only. + true if the set is read-only; otherwise, false. + + + Removes the first occurrence of a specific object from the collection. + true if was successfully removed from the collection; otherwise, false. + The object to remove from the collection. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Inserts an item in the set at the specified index.. + The zero-based index at which should be inserted. + The object to insert into the set. + + + Gets or sets the element at the specified index. + The element at the specified index. + The index of the element to get or set. + + + Removes the item at the specified index. + The zero-based index of the item to remove. + + + Adds an element to the current set and returns a value to indicate if the element was successfully added. + true if the element is added to the set; false if the element is already in the set. + The element to add to the set. + + + Removes all elements in the specified collection from the current set. + The collection of items to remove from the set. + + + Modifies the current set so that it contains only elements that are also in a specified collection + The collection to compare to the current set. + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Modifies the current set so that it contains all elements that are present in either the current set or the specified collection. + The collection to compare to the current set. + + + Copies the elements of the set to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether access to the immutable sorted set is synchronized. + true if access to the set is synchronized; otherwise, false. + + + Gets an object that can be used to synchronize access to the immutable sorted set. + An object that can be used to synchronize access to the set. + + + Returns an enumerator that iterates through a collection. + An enumerator object that can be used to iterate through the collection. + + + Adds an item to the set. + The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. + The object to add to the set. + The set is read-only or has a fixed size. + + + Removes all items from the set. + + + Determines whether the set contains a specific value. + true if the object is found in the set; otherwise, false. + The object to locate in the set. + + + Determines the index of a specific item in the set. + The index of if found in the list; otherwise, -1. + The object to locate in the set. + + + Inserts an item into the set at the specified index. + The zero-based index at which should be inserted. + The object to insert into the set. + The set is read-only or has a fixed size. + + + Gets a value indicating whether the immutable sorted set has a fixed size. + true if the set has a fixed size; otherwise, false. + + + Gets a value indicating whether the immutable sorted set is read-only. + true if the set is read-only; otherwise, false. + + + Gets or sets the element at the specified index. + The element at the specified index. + The index of the item to retrieve. + + + Removes the first occurrence of a specific object from the set. + The object to remove from the set. + The set is read-only or has a fixed size. + + + Removes the item at the specified index of the set. + The zero-based index of the item to remove. + The set is read-only or has a fixed size. + + + Adds the specified element to this immutable set. + A new set with the element added, or this set if the element is already in the set. + The element to add. + + + Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance. + An empty set that has the same sorting and ordering semantics as this instance. + + + Removes the elements in the specified collection from the current immutable set. + The new set with the items removed; or the original set if none of the items were in the set. + The items to remove from this set. + + + Creates an immutable set that contains elements that exist in both this set and the specified set. + A new immutable set that contains any elements that exist in both sets. + The collection to compare to the current set. + + + Removes the specified element from this immutable set. + A new set with the specified element removed, or the current set if the element cannot be found in the set. + The element to remove. + + + Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both. + A new set that contains the elements that are present only in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection. + A new immutable set with the items added; or the original set if all the items were already in the set. + The collection to add elements from. + + + Creates a collection that has the same contents as this immutable sorted set that can be efficiently manipulated by using standard mutable interfaces. + The sorted set builder. + + + Searches the set for a given value and returns the equal value it finds, if any. + A value indicating whether the search was successful. + The value to search for. + The value from the set that the search found, or the original value if the search yielded no match. + + + Adds a given set of items to this immutable sorted set. + The new set with the items added; or the original set if all the items were already in the set. + The items to add. + + + Returns the immutable sorted set that has the specified key comparer. + The immutable sorted set that has the specified key comparer. + The comparer to check for. + + + Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets. + + + Adds an element to the current set and returns a value to indicate whether the element was successfully added. + true if the element is added to the set; false if the element is already in the set + The element to add to the set. + + + Removes all elements from this set. + + + Determines whether the set contains the specified object. + true if is found in the set; otherwise, false. + The object to locate in the set. + + + Gets the number of elements in the immutable sorted set. + The number of elements in this set. + + + Removes the specified set of items from the current set. + The collection of items to remove from the set. + + + Returns an enumerator that iterates through the set. + A enumerator that can be used to iterate through the set. + + + Modifies the current set so that it contains only elements that are also in a specified collection. + The collection to compare to the current set. + + + Determines whether the current set is a proper (strict) subset of a specified collection. + true if the current set is a proper subset of ; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current set is a proper (strict) superset of a specified collection. + true if the current set is a proper superset of ; otherwise, false. + The collection to compare to the current set. + + + Determines whether the current set is a subset of a specified collection. + true if the current set is a subset of ; otherwise, false. + The collection is compare to the current set. + + + Determines whether the current set is a superset of a specified collection. + true if the current set is a superset of ; otherwise, false. + The collection to compare to the current set. + + + Gets or sets the object that is used to determine equality for the values in the immutable sorted set. + The comparer that is used to determine equality for the values in the set. + + + Gets the maximum value in the immutable sorted set, as defined by the comparer. + The maximum value in the set. + + + Gets the minimum value in the immutable sorted set, as defined by the comparer. + The minimum value in the set. + + + Determines whether the current set overlaps with the specified collection. + true if the current set and share at least one common element; otherwise, false. + The collection to compare to the current set. + + + Removes the first occurrence of the specified object from the set. + true if was removed from the set; false if was not found in the set. + The object to remove from the set. + + + Returns an enumerator that iterates over the immutable sorted set in reverse order. + An enumerator that iterates over the set in reverse order. + + + Determines whether the current set and the specified collection contain the same elements. + true if the current set is equal to ; otherwise, false. + The collection to compare to the current set. + + + Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. + The collection to compare to the current set. + + + Adds an element to the current set and returns a value to indicate whether the element was successfully added. + The element to add to the set. + + + Copies the elements of the collection to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether this instance is read-only. + Always false. + + + Returns an enumerator that iterates through the collection. + A enumerator that can be used to iterate through the collection. + + + Copies the elements of the set to an array, starting at a particular array index. + The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets a value indicating whether access to the immutable sorted set is synchronized (thread safe). + true if access to the set is synchronized (thread safe); otherwise, false. + + + Gets an object that can be used to synchronize access to the immutable sorted set. + An object that can be used to synchronize access to the set. + + + Returns an enumerator that iterates through the collection. + A enumerator that can be used to iterate through the collection. + + + Creates an immutable sorted set based on the contents of this instance. + An immutable set. + + + Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection. + The collection to compare to the current state. + + + Enumerates the contents of a binary tree. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + Releases the resources used by the current instance of the class. + + + Advances the enumerator to the next element of the immutable sorted set. + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sorted set. + + + Sets the enumerator to its initial position, which is before the first element in the immutable sorted set. + + + Gets the current element in the immutable sorted set. + The current element in the immutable sorted set. + + + Provides a set of initialization methods for instances of the class. + + + Creates an empty immutable stack. + An empty immutable stack. + The type of items to be stored in the immutable stack. + + + Creates a new immutable stack that contains the specified item. + A new immutable collection that contains the specified item. + The item to prepopulate the stack with. + The type of items in the immutable stack. + + + Creates a new immutable stack that contains the specified array of items. + A new immutable stack that contains the specified items. + An array that contains the items to prepopulate the stack with. + The type of items in the immutable stack. + + + Creates a new immutable stack that contains the specified items. + An immutable stack that contains the specified items. + The items to add to the stack before it’s immutable. + The type of items in the stack. + + + Removes the specified item from an immutable stack. + A stack; never null. + The stack to modify. + The item to remove from the stack. + The type of items contained in the stack. + + + Represents an immutable stack. + The type of element on the stack. + + + Removes all objects from the immutable stack. + An empty immutable stack. + + + Gets an empty immutable stack. + An empty immutable stack. + + + Returns an enumerator that iterates through the immutable stack. + An enumerator that can be used to iterate through the stack. + + + Gets a value that indicates whether this instance of the immutable stack is empty. + true if this instance is empty; otherwise, false. + + + Returns the object at the top of the stack without removing it. + The object at the top of the stack. + + + Removes the element at the top of the immutable stack and returns the stack after the removal. + A stack; never null. + + + Removes the specified element from the immutable stack and returns the stack after the removal. + A stack; never null. + The value to remove from the stack. + + + Inserts an object at the top of the immutable stack and returns the new stack. + The new stack. + The object to push onto the stack. + + + Returns an enumerator that iterates through the collection. + An enumerator that can be used to iterate through the collection. + + + Returns an enumerator that iterates through a collection. + An object that can be used to iterate through the collection. + + + Removes all elements from the immutable stack. + The empty immutable stack. + + + Removes the element at the top of the immutable stack and returns the new stack. + The new stack; never null. + + + Inserts an element at the top of the immutable stack and returns the new stack. + The new stack. + The element to push onto the stack. + + + Enumerates the contents of an immutable stack without allocating any memory. + + + Gets the element at the current position of the enumerator. + The element at the current position of the enumerator. + + + Advances the enumerator to the next element of the immutable stack. + true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the stack. + + + LINQ extension method overrides that offer greater efficiency for than the standard LINQ methods + + + Applies a function to a sequence of elements in a cumulative way. + The final value after the cumulative function has been applied to all elements. + The collection to apply the function to. + A function to be invoked on each element, in a cumulative way. + The type of element contained by the collection. + + + Applies a function to a sequence of elements in a cumulative way. + The final accumulator value. + The collection to apply the function to. + The initial accumulator value. + A function to be invoked on each element, in a cumulative way. + The type of the accumulated value. + The type of element contained by the collection. + + + Applies a function to a sequence of elements in a cumulative way. + The final accumulator value. + The collection to apply the function to. + The initial accumulator value. + A function to be invoked on each element, in a cumulative way. + The type of the accumulated value. + The type of result returned by the result selector. + The type of element contained by the collection. + + + Gets a value indicating whether all elements in this collection match a given condition. + true if every element of the source sequence passes the test in the specified predicate, or if the sequence is empty; otherwise, false. + The predicate. + The type of element contained by the collection. + + + Gets a value indicating whether any elements are in this collection. + Returns . + The type of element contained by the collection. + + + Gets a value indicating whether any elements are in this collection that match a given condition. + Returns . + The predicate. + The type of element contained by the collection. + + + Returns a value indicating whether this collection contains any elements. + Returns . + + + + Returns the element at a specified index in a sequence. + Returns . + The type of element contained by the collection. + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + Returns . + The type of element contained by the collection. + + + Returns the first element in a sequence that satisfies a specified condition. + Returns . + The type of element contained by the collection. + + + Returns the first element in a sequence that satisfies a specified condition. + Returns . + The type of element contained by the collection. + + + Returns the first element in the collection. + Returns . + + Thrown if the collection is empty. + + + Returns the first element of a sequence, or a default value if the sequence contains no elements. + Returns . + The type of element contained by the collection. + + + Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. + Returns . + The type of element contained by the collection. + + + Returns the first element in the collection, or the default value if the collection is empty. + Returns . + + + + Returns the last element of a sequence. + Returns . + The type of element contained by the collection. + + + Returns the last element of a sequence that satisfies a specified condition. + Returns . + The type of element contained by the collection. + + + Returns the last element in the collection. + Returns . + + Thrown if the collection is empty. + + + Returns the last element of a sequence, or a default value if the sequence contains no elements. + Returns . + The type of element contained by the collection. + + + Returns the last element of a sequence that satisfies a condition or a default value if no such element is found. + Returns . + The type of element contained by the collection. + + + Returns the last element in the collection, or the default value if the collection is empty. + Returns . + + + + Projects each element of a sequence into a new form. + Returns . + The immutable array. + The selector. + The type of element contained by the collection. + The type of the result element. + + + Determines whether two sequences are equal according to an equality comparer. + Returns . + The type of element in the compared array. + The type of element contained by the collection. + + + Determines whether two sequences are equal according to an equality comparer. + Returns . + The type of element in the compared array. + The type of element contained by the collection. + + + Determines whether two sequences are equal according to an equality comparer. + Returns . + The type of element in the compared array. + The type of element contained by the collection. + + + Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence. + Returns . + The type of element contained by the collection. + + + Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. + Returns . + The type of element contained by the collection. + + + Returns the only element of a sequence, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence. + Returns . + The type of element contained by the collection. + + + Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition. + Returns . + The type of element contained by the collection. + + + Copies the contents of this array to a mutable array. + The newly instantiated array. + The type of element contained by the collection. + + + Creates a dictionary based on the contents of this array. + The newly initialized dictionary. + The key selector. + The type of the key. + The type of element contained by the collection. + + + Creates a dictionary based on the contents of this array. + The newly initialized dictionary. + The key selector. + The comparer to initialize the dictionary with. + The type of the key. + The type of element contained by the collection. + + + Creates a dictionary based on the contents of this array. + The newly initialized dictionary. + The key selector. + The element selector. + The type of the key. + The type of the element. + The type of element contained by the collection. + + + Creates a dictionary based on the contents of this array. + The newly initialized dictionary. + The key selector. + The element selector. + The comparer to initialize the dictionary with. + The type of the key. + The type of the element. + The type of element contained by the collection. + + + Filters a sequence of values based on a predicate. + Returns . + The type of element contained by the collection. + + + + + + + + +