{"id":1040,"date":"2014-11-16T18:54:16","date_gmt":"2014-11-16T14:54:16","guid":{"rendered":"http:\/\/blog.rc21net.ru\/?p=1040"},"modified":"2022-06-13T03:33:35","modified_gmt":"2022-06-12T23:33:35","slug":"collections-c-sharp","status":"publish","type":"post","link":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/","title":{"rendered":"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C#"},"content":{"rendered":"<p>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432: \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b.<\/p>\n<p><!--more--><\/p>\n<p>\u0422\u0438\u043f\u044b \u0432 .NET \u0434\u043b\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0442\u0440\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438:<\/p>\n<ul>\n<li>\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/li>\n<li>\u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0441\u044b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 (\u0441\u043f\u0438\u0441\u043a\u0438, \u0441\u043b\u043e\u0432\u0430\u0440\u0438)<\/li>\n<li>\u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/li>\n<\/ul>\n<p>\u0412\u0441\u0435 \u044d\u0442\u0438 \u0442\u0438\u043f\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430\u0445 \u0438\u043c\u0435\u043d:<\/p>\n<ul>\n<li><code>System.Collections<\/code> &#8212; \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u043a\u043e\u043b\u043b\u043a\u0446\u0438\u0439<\/li>\n<li><code>System.Collections.Specialized<\/code> &#8212; \u0441\u0442\u0440\u043e\u0433\u043e \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/li>\n<li><code>System.Collections.Generic<\/code> &#8212; \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/li>\n<li><code>System.Collections.ObjectModel<\/code> &#8212; \u043f\u0440\u043e\u043a\u0441\u0438 \u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0434\u043b\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439<\/li>\n<li><code>System.Collections.Concurrent<\/code> &#8212; \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u043a \u043f\u043e\u0442\u043e\u043a\u0430\u043c<\/li>\n<\/ul>\n<p>\u0412\u0441\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 (\u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c) \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IEnumerable<\/code> \u0438\u043b\u0438 <code>IEnumerable&lt;T&gt;<\/code>.<\/p>\n<p>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438, \u043d\u043e \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438, \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0447\u043b\u0435\u043d\u0443 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443, \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043b\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438. \u0414\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b\u00a0<code>ICollection<\/code>, <code>IList<\/code> \u0438 <code>IDictionary<\/code>. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0438\u043c\u0435\u0435\u0442 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u0443\u044e \u0438 \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e (\u043e\u0434\u043d\u0430\u043a\u043e \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0440\u0435\u0434\u043a\u043e).<\/p>\n<p>\u0418\u0435\u0440\u0430\u0440\u0445\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439:<\/p>\n<ul>\n<li><code>IEnumerable&lt;T&gt;<\/code> \u0438 <code>IEnumerable<\/code> &#8212; \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438: \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435<\/li>\n<li><code>ICollection&lt;T&gt;<\/code> \u0438 <code>ICollection<\/code> &#8212; \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u00a0<code>Count<\/code><\/li>\n<li><code>IList &lt;T&gt;<\/code>, <code>IDictionary &lt;K,V&gt;<\/code> \u0438 \u0438\u0445 \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438 &#8212; \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/li>\n<\/ul>\n<h2 id=\"jstoc207\">\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 (Enumeration)<\/h2>\n<p><strong>\u041d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440, \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c (enumerator)<\/strong> &#8212; \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u0443\u0440\u0441\u043e\u0440 (<em>forward-only cursor<\/em>\u00a0&#8212; \u043a\u0443\u0440\u0441\u043e\u0440, \u0434\u0432\u0438\u0436\u0443\u0449\u0438\u0439\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043f\u0435\u0440\u0451\u0434, \u0431\u0435\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f) \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u044e\u0449\u0438\u0439 <strong>\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (sequence)\u00a0<\/strong>\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u041d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<strong><code>System.Collections.IEnumerator\u00a0<\/code><\/strong>\u0438\u043b\u0438\u00a0<strong><code>System.Collections.Generic.IEnumerator&lt;T&gt;<\/code><\/strong>.<\/p>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u00a0<code>foreach<\/code>\u00a0<strong>\u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u0442, \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e (<em>iterate<\/em>)<\/strong> \u043d\u0430\u0434\u00a0<strong>\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u043c\u0438 (enumerable)<\/strong> \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438. <em>\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b<\/em> &#8212; \u044d\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0435\u0439. \u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 &#8212; \u044d\u0442\u043e \u043d\u0435 \u043a\u0443\u0440\u0441\u043e\u0440, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u0432\u044b\u0448\u0435, \u0430 \u043e\u0431\u044a\u0435\u043a\u0442, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u0430\u043a\u043e\u0439 \u043a\u0443\u0440\u0441\u043e\u0440, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0443 \u0438 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0435\u0433\u043e. \u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u043b\u0438\u0431\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<strong><code>IEnumerable<\/code><\/strong> \u0438\u043b\u0438 <strong><code>IEnumer<\/code><\/strong><strong><code>able&lt;T&gt;<\/code><\/strong>, \u043b\u0438\u0431\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u0442\u043e\u0434\u00a0<strong><code>GetEnumerator<\/code><\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440 (enumerator).<\/p>\n<h3 id=\"jstoc209\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b\u00a0IEnumerable \u0438\u00a0IEnumerator<\/h3>\n<p>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IEnumerator<\/code> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0445\u043e\u0434 \u043f\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c (\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435) \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 \u043e\u0434\u043e\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043c\u0430\u043d\u0435\u0440\u0435. \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430:<\/p>\n<pre class=\"lang:c# decode:true\">public interface IEnumerator\n{\n\u00a0 \u00a0 bool MoveNext();\n\u00a0 \u00a0 object Current { get; }\n\u00a0 \u00a0 void Reset();\n}<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>MoveNext<\/code> \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0433\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u0438\u043b\u0438 \u043a\u0443\u0440\u0441\u043e\u0440, \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043f\u043e\u0437\u0438\u0446\u0438\u044e, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f false, \u0435\u0441\u043b\u0438 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432. \u041c\u0435\u0442\u043e\u0434\u00a0<code>Current<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 (\u043f\u0440\u0438\u0432\u043e\u0434\u044f \u0435\u0433\u043e \u043e\u0442 <code>object<\/code> \u043a \u0431\u043e\u043b\u0435\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443). \u041f\u0435\u0440\u0435\u0434 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u043d \u043c\u0435\u0442\u043e\u0434\u00a0<code>MoveNext<\/code> (\u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u0443\u0447\u0435\u0442\u0430 \u043f\u0443\u0441\u0442\u043e\u0439 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438). \u041c\u0435\u0442\u043e\u0434\u00a0<code>Reset<\/code> (\u0435\u0441\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d) \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043a \u043d\u0430\u0447\u0430\u043b\u0443.<\/p>\n<p>\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u0438, \u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IEnumerable<\/code>:<\/p>\n<pre class=\"lang:c# decode:true  \">public interface IEnumerable\n{\n\u00a0 \u00a0 IEnumerator GetEnumerator();\n}<\/pre>\n<p>\u0417\u0430 \u0441\u0447\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IEnumerable<\/code> \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043b\u043e\u0433\u0438\u043a\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0441\u0443. \u042d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u043d\u0435 \u0432\u043b\u0438\u044f\u044f \u0434\u0440\u0443\u0433 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430.<\/p>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f <code>foreach<\/code> \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u0438 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0435\u0440\u0435\u0431\u0440\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442:<\/p>\n<pre class=\"lang:c# decode:true\">foreach (char c in \"beer\") Console.WriteLine (c);<\/pre>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>foreach<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">using (var enumerator = \"beer\".GetEnumerator())\n\u00a0 \u00a0 while (enumerator.MoveNext())\n\u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 var element = enumerator.Current;\n\u00a0 \u00a0 \u00a0 \u00a0 Console.WriteLine (element);\n\u00a0 \u00a0 }<\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IDisposable<\/code>, \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f <code>foreach<\/code> \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u043a\u0430\u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f <code>using<\/code>, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u044f \u043e\u0431\u044a\u0435\u043a\u0442 \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<h3 id=\"jstoc210\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b\u00a0IEnumerable&lt;T&gt; \u0438 IEnumerator&lt;T&gt;<\/h3>\n<p>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b\u00a0<code>IEnumerator<\/code> \u0438 <code>IEnumerable<\/code> \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u043c\u0438\u00a0\u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438:<\/p>\n<pre class=\"lang:c# decode:true\">public interface IEnumerator&lt;T&gt; : IEnumerator, IDisposable\n{\n\u00a0 \u00a0 T Current { get; }\n}\npublic interface IEnumerable&lt;T&gt; : IEnumerable\n{\n\u00a0 \u00a0 IEnumerator&lt;T&gt; GetEnumerator();\n}<\/pre>\n<h3 id=\"jstoc211\">\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 (Collection Initializers)<\/h3>\n<p>\u041c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u043e\u0434\u0438\u043d \u0448\u0430\u0433:<\/p>\n<pre class=\"lang:c# decode:true\">using System.Collections.Generic;\nList&lt;int&gt; list = new List&lt;int&gt; {1, 2, 3};<\/pre>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438:<\/p>\n<pre class=\"lang:c# decode:true\">List&lt;int&gt; list = new List&lt;int&gt;();\nlist.Add (1); list.Add (2); list.Add (3);<\/pre>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u043b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>System.Collections.IEnumerable<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443 \u043d\u0435\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u00a0<code>Add<\/code>.<\/p>\n<h3 id=\"jstoc212\">\u0418\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b (Iterators)<\/h3>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>foreach<\/code> \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <strong>\u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430<\/strong>. \u0418\u0442\u0435\u0440\u0430\u0442\u043e\u0440 &#8212; \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043b\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043e\u0434\u043d\u0443 \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 <strong>\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438\u00a0<code>yield<\/code><\/strong>. \u0422\u0430\u043a\u0436\u0435 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c (\u0438\u043c\u0435\u0442\u044c \u0442\u0438\u043f) \u043e\u0434\u0438\u043d \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 (\u0438\u043d\u0430\u0447\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u044b\u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443):<\/p>\n<ul>\n<li><code>System.Collections.IEnumerable<\/code><\/li>\n<li><code>System.Collections.IEnumerator<\/code><\/li>\n<li><code>System.Collections.Generic.IEnumerable&lt;T&gt;<\/code><\/li>\n<li><code>System.Collections.Generic.IEnumerator&lt;T&gt;<\/code><\/li>\n<\/ul>\n<pre class=\"lang:c# decode:true \">using System;\nusing System.Collections.Generic;\nclass Test\n{\n\u00a0 \u00a0 static void Main()\n\u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0 foreach (int fib in Fibs(6))\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Console.Write (fib + \" \"); \/\/\u0432\u044b\u0432\u0435\u0434\u0435\u0442\u00a01 1 2 3 5 8\n\u00a0 \u00a0 }\n\u00a0 \u00a0\u00a0static IEnumerable&lt;int&gt; Fibs(int fibCount) \/\/ \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\n\u00a0 \u00a0\u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0for (int i = 0, prevFib = 1, curFib = 1;\u00a0i &lt; fibCount;\u00a0i++)\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0yield return prevFib;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0int newFib = prevFib+curFib;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0prevFib = curFib;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0curFib = newFib;\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0}\n\u00a0 \u00a0\u00a0}\n}\n<\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f <code>return<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u043c\u0435\u0442\u043e\u0434\u0430 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442 \u043c\u0435\u0442\u043e\u0434, \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u00a0<code>yield return<\/code> \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043d\u0430\u0447\u0435. \u041e\u043d\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u0435\u0442\u043e\u0434 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u0436\u0435: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u0447\u043a\u0443 \u0432\u044b\u0437\u043e\u0432\u0430 (\u043e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>foreach<\/code>), \u043d\u043e \u043c\u0435\u0442\u043e\u0434-\u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f, \u043e\u043d \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u0441\u0442\u044b\u0432\u0448\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0432 \u0442\u043e\u0447\u043a\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430-\u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f. \u0412\u0440\u0435\u043c\u044f \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u0441\u0442\u044b\u0432\u0448\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c &#8212; \u043e\u043d\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u0447\u043a\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435.<\/p>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432 \u0447\u0430\u0441\u0442\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IEnumerable&lt;T&gt;<\/code> \u0438\/\u0438\u043b\u0438\u00a0<code>IEnumerator&lt;T&gt;<\/code>. \u041b\u043e\u0433\u0438\u043a\u0430 \u0432 \u0431\u043b\u043e\u043a\u0435 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u043e\u0434\u043e\u043c\u00a0<code>MoveNext<\/code> \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c\u00a0<code>Current\u00a0<\/code>\u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0430 \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440\u0430. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0430, \u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 \u043a\u043e\u0434 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f. \u041d\u0430\u0448 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0443\u044e\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>foreach<\/code>.<\/p>\n<p><em>\u0418\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440\u0430<\/em> (\u0442.\u0435. \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0438\u0435 \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440) \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0440\u0435\u0434\u043a\u043e. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0430\u043c \u043a\u043b\u0430\u0441\u0441 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IEnumerable&lt;T&gt;<\/code> (\u0442.\u0435. \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442), \u0430 \u043c\u0435\u0442\u043e\u0434 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u00a0<code>GetEnumerator<\/code> \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043b\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438.<\/p>\n<p><em>\u0418\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430<\/em> (\u0442.\u0435. \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0438\u0435 \u0442\u0430\u043a\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442) \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u044b \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0447\u0430\u0449\u0435. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 &#8212; \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0437\u0430 \u043d\u0430\u0441, \u0441\u043e\u0437\u0434\u0430\u0432 \u0447\u0430\u0441\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IEnumerable&lt;T&gt;<\/code> (\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442) \u0438 \u043a\u043b\u0430\u0441\u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439\u00a0<code>IEnumerator&lt;T&gt;<\/code> (\u043d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430).<\/p>\n<p>\u0418\u0442\u0435\u0440\u0430\u0442\u043e\u0440 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439\u00a0<code>yield<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">static void Main()\n{\n\u00a0 \u00a0 foreach (string s in Foo())\n\u00a0 \u00a0 Console.Write (s + \" \"); \/\/ One Two Three\n}\nstatic IEnumerable&lt;string&gt; Foo()\n{\n\u00a0 \u00a0 yield return \"One\";\n\u00a0 \u00a0 yield return \"Two\";\n\u00a0 \u00a0 yield return \"Three\";\n}<\/pre>\n<p>\u041b\u043e\u0433\u0438\u043a\u0430 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0430\u043a\u0430\u044f \u0436\u0435 &#8212; \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u00a0<code>yield<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p><strong>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u00a0<code>yield break<\/code><\/strong> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0431\u043b\u043e\u043a \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0434\u043e\u0441\u0440\u043e\u0447\u043d\u043e \u0438 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430:<\/p>\n<pre class=\"lang:c# decode:true\">static IEnumerable&lt;string&gt; Foo (bool breakEarly)\n{\n\u00a0 \u00a0 yield return \"One\";\n\u00a0 \u00a0 yield return \"Two\";\n\u00a0 \u00a0 if (breakEarly) yield break;\n\u00a0 \u00a0 yield return \"Three\";\n}<\/pre>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f <code>return<\/code> \u0432 \u0431\u043b\u043e\u043a\u0435 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430, \u0434\u043b\u044f \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0431\u043b\u043e\u043a\u0430 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e\u00a0<code>yield break<\/code>.<\/p>\n<p>\u0418\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432 \u0434\u0440\u0443\u0433\u0443\u044e:<\/p>\n<pre class=\"lang:c# decode:true \">static IEnumerable&lt;int&gt; EvenNumbersOnly (IEnumerable&lt;int&gt; sequence)\n{\n\u00a0 \u00a0 foreach (int x in sequence)\n\u00a0 \u00a0 \u00a0 \u00a0 if ((x % 2) == 0)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 yield return x;\n}<\/pre>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f\u00a0LINQ \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/p>\n<h2 id=\"jstoc315\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b\u00a0ICollection&lt;T&gt; \u0438 ICollection<\/h2>\n<p><code>ICollection&lt;T&gt;<\/code> &#8212; \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430:<\/p>\n<pre class=\"lang:c# decode:true\">public interface ICollection&lt;T&gt; : IEnumerable&lt;T&gt;, IEnumerable\n{\n\u00a0 \u00a0 int Count { get; } \/\/ \u0420\u0430\u0437\u043c\u0435\u0440 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438\n\u00a0 \u00a0\u00a0bool Contains (T item); \/\/ \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438\n\u00a0 \u00a0\u00a0void CopyTo (T[] array, int arrayIndex); \/\/ \u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\n\u00a0 \u00a0\u00a0bool IsReadOnly { get; } \/\/ \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\n\u00a0 \u00a0\u00a0void Add\u00a0(T item); \/\/ \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438\n\u00a0 \u00a0\u00a0bool Remove (T item); \/\/ \u0423\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438\n\u00a0 \u00a0\u00a0void Clear\u00a0(); \/\/ \u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c (\u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b) \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e\n}<\/pre>\n<p>\u041f\u0440\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u043c\u0435\u0442\u043e\u0434\u044b <code>Add<\/code>, <code>Remove<\/code> \u0438\u00a0<code>Clear<\/code> \u0434\u043e\u043b\u0436\u043d\u044b \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u00a0<code>NotSupportedException<\/code>.<\/p>\n<p>\u041d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>ICollection<\/code> \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430, \u043d\u043e \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 (<code>Add<\/code>, <code>Remove<\/code>, <code>Clear<\/code>) \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 (<code>Contains<\/code>):<\/p>\n<pre class=\"lang:c# decode:true\">public interface ICollection : IEnumerable\n{\n\u00a0 \u00a0 int Count { get; }\n\u00a0 \u00a0 bool IsSynchronized { get; }\n\u00a0 \u00a0 object SyncRoot { get; }\n\u00a0 \u00a0 void CopyTo (Array array, int index);\n}<\/pre>\n<p>\u041d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0442\u0430\u043a\u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0441\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 (\u0438\u0437 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u044b).<\/p>\n<h2 id=\"jstoc316\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b\u00a0IList&lt;T&gt;,\u00a0IList \u0438\u00a0IReadOnlyList&lt;T&gt;<\/h2>\n<p><code>IList&lt;T&gt;<\/code> &#8212; \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e \u043f\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u0438. \u041f\u043e\u043c\u0438\u043c\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430, \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0442\u00a0<code>ICollection&lt;T&gt;\u00a0<\/code>\u0438\u00a0<code>IEnumerable&lt;T&gt;<\/code>, \u043e\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043f\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u0438 (\u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440) \u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0438\/\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u0438:<\/p>\n<pre class=\"lang:c# decode:true\">public interface IList&lt;T&gt; : ICollection&lt;T&gt;, IEnumerable&lt;T&gt;, IEnumerable\n{\n\u00a0 \u00a0 T this [int index] { get; set; } \/\/ \u0418\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440\n\u00a0 \u00a0 int IndexOf (T item); \/\/ \u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 (\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 -1 \u0435\u0441\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d)\n\u00a0 \u00a0 void Insert (int index, T item); \/\/ \u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u043f\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u0438\n\u00a0 \u00a0 void RemoveAt (int index); \/\/ \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u0438\n}<\/pre>\n<p>\u041d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IList<\/code> \u0438\u043c\u0435\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u0447\u043b\u0435\u043d\u043e\u0432, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435\u0435 \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u00a0<code>ICollection<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">public interface IList : ICollection, IEnumerable\n{\n\u00a0 \u00a0 object this [int index] { get; set }\n\u00a0 \u00a0\u00a0bool IsFixedSize { get; }\n\u00a0 \u00a0\u00a0bool IsReadOnly { get; }\n\u00a0 \u00a0\u00a0int Add (object value);\n\u00a0 \u00a0\u00a0void Clear ();\n\u00a0 \u00a0\u00a0bool Contains (object value);\n\u00a0 \u00a0\u00a0int IndexOf (object value);\n\u00a0 \u00a0\u00a0void Insert (int index, object value);\n\u00a0 \u00a0\u00a0void Remove (object value);\n\u00a0 \u00a0\u00a0void RemoveAt (int index);\n}<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434 <code>Add<\/code> \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 <code>IList<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u043d\u0434\u0435\u043a\u0441 \u0432\u043d\u043e\u0432\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u043c\u0435\u0442\u043e\u0434 <code>Add<\/code> \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 <code>ICollection&lt;T&gt;<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>viod<\/code>.<\/p>\n<p>\u0414\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IReadOnlyList&lt;T&gt;<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">public interface IReadOnlyList&lt;out T&gt; : IEnumerable&lt;T&gt;, IEnumerable\n{\n\u00a0 \u00a0 int Count { get; }\n\u00a0 \u00a0 T this [int index] { get; }\n}<\/pre>\n<h2 id=\"jstoc317\">\u041a\u043b\u0430\u0441\u0441\u00a0Array<\/h2>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>Array<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u044f\u0432\u043d\u044b\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u044b\u0445 \u0438 \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432. \u041a\u043e\u0433\u0434\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u00a0\u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 C#, \u0441\u0440\u0435\u0434\u0430 CLR\u00a0\u043d\u0435\u044f\u0432\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u043e\u0434\u0442\u0438\u043f \u043a\u043b\u0430\u0441\u0441\u0430 <code>Array<\/code>.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>Array\u00a0<\/code>\u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e <code>IList&lt;T&gt;<\/code> (\u0432 \u043e\u0431\u0435\u0438\u0445 \u0444\u043e\u0440\u043c\u0430\u0445 &#8212; \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e\u0439 \u0438 \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e\u0439). \u041e\u0434\u043d\u0430\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 <code>IList&lt;T&gt;<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u044f\u0432\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b <code>Add<\/code> \u0438 <code>Remove<\/code>, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u00a0<code>Array\u00a0<\/code>\u0438\u043c\u0435\u0435\u0442 <strong>\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 <code>Resize<\/code><\/strong> (\u043f\u0440\u0430\u0432\u0434\u0430 \u043e\u043d \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0432 \u043d\u0435\u0433\u043e \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b).<\/p>\n<p><strong>\u041c\u0430\u0441\u0441\u0438\u0432\u044b \u043c\u043e\u0433\u0443\u0442 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 <code>Clone<\/code>.<\/strong> \u041e\u0434\u043d\u0430\u043a\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u0430\u044f (\u043d\u0435\u0433\u043b\u0443\u0431\u043e\u043a\u0430\u044f) \u043a\u043e\u043f\u0438\u044f, \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0430\u044f \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043c\u044f\u0442\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0441\u0430\u043c \u043c\u0430\u0441\u0441\u0438\u0432. \u0415\u0441\u043b\u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0437\u043d\u0430\u0447\u0438\u043c\u044b\u0445 \u0442\u0438\u043f\u043e\u0432, \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441\u0430\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0436\u0435 \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 &#8212; \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043a\u0438, \u0434\u0430\u0432\u0430\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0434\u0432\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b. \u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0433\u043b\u0443\u0431\u043e\u043a\u0443\u044e \u043a\u043e\u043f\u0438\u044e, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0432 \u0446\u0438\u043a\u043b\u0435 \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0438 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u042d\u0442\u0438 \u0436\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0438 \u043a \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c.<\/p>\n<p>\u041c\u0430\u0441\u0441\u0438\u0432 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 C#, \u043d\u043e \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e <strong>\u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>Array.CreateInstance<\/code><\/strong>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0440\u0430\u043d\u0433 (\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u0435\u0439 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u0439\u0441\u044f \u043d\u0435 \u0441 \u043d\u0443\u043b\u044f, \u0437\u0430 \u0441\u0447\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043d\u0438\u0436\u043d\u0435\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b:<\/p>\n<pre class=\"lang:c# decode:true\">Array a = Array.CreateInstance (typeof(string), 2);<\/pre>\n<p><strong>\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b\u00a0<code>GetValue<\/code> \u0438\u00a0<code>SetValue<\/code><\/strong> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u0432 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435 (\u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438 \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438). \u041c\u0435\u0442\u043e\u0434\u00a0<code>SetValue<\/code> \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 \u0442\u0438\u043f \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c.<\/p>\n<pre class=\"lang:c# decode:true\">a.SetValue (\"hi\", 0); \/\/ \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 a[0] = \"hi\";\na.SetValue (\"there\", 1); \/\/ \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 a[1] = \"there\";\nstring s = (string) a.GetValue (0); \/\/ \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442 s = a[0];<\/pre>\n<p>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b (\u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0441 \u043d\u0443\u043b\u044f) \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0438\u043b\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0442\u0438\u043f\u0430:<\/p>\n<pre class=\"lang:c# decode:true\">string[] cSharpArray = (string[]) a;\nstring s2 = cSharpArray [0];<\/pre>\n<p><strong>\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 <code>Clear<\/code><\/strong> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0430 \u0435\u0433\u043e \u0447\u043b\u0435\u043d\u0430\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>null<\/code> (\u0434\u043b\u044f \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432) \u043b\u0438\u0431\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0433\u043e \u0442\u0438\u043f\u0430 (\u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0432\u0435\u0441 \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 <code>Clear<\/code> \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u043d\u0443\u043b\u044f).<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <strong>\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>Array.ForEach<\/code><\/strong> \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435:<\/p>\n<pre class=\"lang:c# decode:true \">\/\/ \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u0430:\npublic static void ForEach&lt;T&gt; (T[] array, Action&lt;T&gt; action);\n\/\/ \u041f\u0440\u0438\u043c\u0435\u0440:\nArray.ForEach (new[] { 1, 2, 3 }, Console.WriteLine);\n<\/pre>\n<p>\u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c <strong>\u0434\u043b\u0438\u043d\u0443 \u0438 \u0440\u0430\u043d\u0433<\/strong> \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432:<\/p>\n<pre class=\"lang:c# decode:true\">public int GetLength (int dimension);\u00a0\/\/ \u0414\u043b\u0438\u043d\u0430 \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f (0 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0433\u043e)\npublic long GetLongLength (int dimension);\npublic int Length { get; } \/\/ \u0414\u043b\u0438\u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u0432\u043e \u0432\u0441\u0435\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u044b\u0445)\npublic long LongLength { get; }\npublic int GetLowerBound (int dimension); \/\/ \u041d\u0438\u0436\u043d\u0438\u0439 \u043f\u0440\u0435\u0434\u0435\u043b \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\npublic int GetUpperBound (int dimension); \/\/ \u0412\u0435\u0440\u0445\u043d\u0438\u0439 \u043f\u0440\u0435\u0434\u0435\u043b \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\npublic int Rank { get; } \/\/\u00a0\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435<\/pre>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>Array<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0440\u044f\u0434 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u043b\u044f <strong>\u043f\u043e\u0438\u0441\u043a\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435<\/strong>:<\/p>\n<ul>\n<li><code>BinarySearch<\/code> &#8212; \u043f\u043e\u0438\u0441\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0432 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u043c, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u041e\u043d \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>IComparer<\/code> \u0438\u043b\u0438 <code>IComparer&lt;T&gt;<\/code> \u0434\u043b\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u0438\u0441\u043a\u043e\u043c\u044b\u043c.<\/li>\n<li><code>IndexOf<\/code> \u0438 <code>LastIndex<\/code> &#8212; \u043f\u043e\u0438\u0441\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0432 \u043d\u0435\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u041c\u0435\u0442\u043e\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e (\u0438\u043b\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e) \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430, \u0441\u043e\u0432\u043f\u0430\u0432\u0448\u0435\u0433\u043e \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c.<\/li>\n<li><code>Find<\/code>, <code>FindLast<\/code>, <code>FindIndex<\/code>, <code>FindLastIndex<\/code>, <code>FindAll<\/code>, <code>Exists<\/code> \u0438<code>TrueForAll<\/code> &#8212; \u043f\u043e\u0438\u0441\u043a\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\/\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0449\u0438\u0445 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442\u0443, \u0432 \u043d\u0435\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u041f\u0440\u0435\u0434\u0438\u043a\u0430\u0442 &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0435\u043b\u0435\u0433\u0430\u0442, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439 <code>true<\/code> \u0438\u043b\u0438 <code>false<\/code>:<\/li>\n<\/ul>\n<pre class=\"lang:c# decode:true  \">public delegate bool Predicate&lt;T&gt; (T object);<\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u0430 <code>Find<\/code>:<\/p>\n<pre class=\"lang:c# decode:true \">static void Main()\n{\n\u00a0 \u00a0 string[] names = { \"Rodney\", \"Jack\", \"Jill\" };\n\u00a0 \u00a0 string match = Array.Find (names, ContainsA);\n\u00a0 \u00a0 Console.WriteLine (match); \/\/ Jack\n}\nstatic bool ContainsA (string name) { return name.Contains (\"a\"); }\n\/\/ \u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430:\nstring[] names = { \"Rodney\", \"Jack\", \"Jill\" };\nstring match = Array.Find (names, delegate (string name)\n\u00a0 \u00a0 { return name.Contains (\"a\"); } );\n\/\/ \u0421 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439:\nstring[] names = { \"Rodney\", \"Jack\", \"Jill\" };\nstring match = Array.Find (names, n =&gt; n.Contains (\"a\"));\n<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>FindAll<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0432\u0441\u0435\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0449\u0438\u0445 \u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442\u0443 (\u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0435\u043d \u043c\u0435\u0442\u043e\u0434\u0443 <code>System.Linq.Enumerable.Where<\/code>). \u041c\u0435\u0442\u043e\u0434\u00a0<code>Exists<\/code>\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>true<\/code>, \u0435\u0441\u043b\u0438 \u0447\u043b\u0435\u043d \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442\u0443 (\u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0435\u043d\u00a0<code>System.Linq.Enumerable.Any<\/code>). \u041c\u0435\u0442\u043e\u0434\u00a0<code>TrueForAll<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442<code>true<\/code> \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442\u0443 (\u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0435\u043d\u00a0<code>System.Linq.Enumerable.All<\/code>).<\/p>\n<p>\u041d\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0435\u0441\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0435 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 <code>-1<\/code>, \u0430 \u043c\u0435\u0442\u043e\u0434\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0435 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0442\u0438\u043f &#8212; \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0438\u043f\u0430 (<code>0<\/code>\u0434\u043b\u044f <code>int<\/code>, <code>null<\/code> \u0434\u043b\u044f <code>string<\/code>).<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 <code>Sort<\/code> \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c <strong>\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0430<\/strong>:<\/p>\n<pre class=\"lang:c# decode:true \">\/\/ \u0414\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430:\npublic static void Sort&lt;T&gt; (T[] array);\npublic static void Sort (Array array);\n\/\/ \u0414\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0430\u0440\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432:\npublic static void Sort&lt;TKey,TValue&gt; (TKey[] keys, TValue[] items);\npublic static void Sort (Array keys, Array items);\n<\/pre>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:<\/p>\n<pre class=\"lang:c# decode:true\">int index \/\/\u00a0\u0418\u043d\u0434\u0435\u043a\u0441, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u043d\u0430 \u043d\u0430\u0447\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430\nint length \/\/\u00a0\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438\nIComparer&lt;T&gt; comparer \/\/\u00a0\u041e\u0431\u044a\u0435\u043a\u0442 \u0434\u043b\u044f \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u043d\u0438\u044f\nComparison&lt;T&gt; comparison \/\/\u00a0\u0414\u0435\u043b\u0435\u0433\u0430\u0442 \u0434\u043b\u044f \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u043d\u0438\u044f<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432, \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u044e\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u043d\u0438\u0445, \u043d\u043e \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0443:<\/p>\n<pre class=\"lang:c# decode:true\">int[] numbers = { 3, 2, 1 };\nstring[] words = { \"three\", \"two\", \"one\" };\nArray.Sort (numbers, words);\n\/\/ numbers array is now { 1, 2, 3 }\n\/\/ words array is now { \"one\", \"two\", \"three\" }<\/pre>\n<p>\u041c\u0435\u0442\u043e\u0434 <code>Sort<\/code> \u0442\u0440\u0435\u0431\u0443\u0435\u0442, \u0447\u0442\u043e\u0431\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IComparable<\/code>. \u0415\u0441\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043d\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u043c\u044b \u043f\u043e \u0441\u0443\u0442\u0438, \u043c\u0435\u0442\u043e\u0434\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043b\u0438\u0431\u043e \u043e\u0431\u044a\u0435\u043a\u0442, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439\u00a0<code>IComparer<\/code> \/<code>IComparer&lt;T&gt;<\/code>, \u043b\u0438\u0431\u043e \u0434\u0435\u043b\u0435\u0433\u0430\u0442\u00a0<code>Comparison<\/code>(<code>public delegate int Comparison&lt;T&gt; (T x, T y);<\/code>), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0431 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u043d\u0438\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432:<\/p>\n<pre class=\"lang:c# decode:true\">int[] numbers = { 1, 2, 3, 4, 5 };\nArray.Sort (numbers, (x, y) =&gt; x % 2 == y % 2 ? 0 : x % 2 == 1 ? \u22121 : 1);\n\/\/ numbers array is now { 3, 5, 1, 2, 4 }<\/pre>\n<p><strong>\u041c\u0435\u0442\u043e\u0434\u00a0<code>Reverse<\/code><\/strong> \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0441\u0435\u0445 \u0438\u043b\u0438 \u0447\u0430\u0441\u0442\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u044b\u0439:<\/p>\n<pre class=\"lang:c# decode:true\">public static void Reverse (Array array);\npublic static void Reverse (Array array, int index, int length);<\/pre>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>Array<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u043e\u0433\u043e\u00a0<strong>\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/strong>:\u00a0<code>Clone<\/code>, <code>CopyTo<\/code>, <code>Copy<\/code> \u0438\u00a0<code>ConstrainedCopy<\/code>. \u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043d\u044b\u043c\u0438, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 &#8212; \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u00a0<code>ConvertAll<\/code> \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0442\u0438\u043f\u0443. \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f: \u043c\u0435\u0442\u043e\u0434 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432. \u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0443 \u0434\u0435\u043b\u0435\u0433\u0430\u0442\u0430\u00a0<code>Converter<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">public delegate TOutput Converter&lt;TInput,TOutput&gt; (TInput input)<\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre class=\"lang:c# decode:true\">float[] reals = { 1.3f, 1.5f, 1.8f };\nint[] wholes = Array.ConvertAll (reals, r =&gt; Convert.ToInt32 (r));\n\/\/ wholes = { 1, 2, 2 }<\/pre>\n<p><strong>\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434\u00a0<code>Resize<\/code><\/strong> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430. \u041f\u0438\u0440 \u044d\u0442\u043e\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f: \u043c\u0435\u0442\u043e\u0434 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432.<\/p>\n<h2 id=\"jstoc318\">\u0421\u043f\u0438\u0441\u043a\u0438<\/h2>\n<p>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435. \u0414\u0430\u043b\u0435\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438.<\/p>\n<h3 id=\"jstoc319\">List&lt;T&gt; \u0438\u00a0ArrayList<\/h3>\n<p>\u041e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <code>List<\/code> \u0438 \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <code>ArrayList<\/code> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432.\u00a0<code>ArrayList\u00a0<\/code>\u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 <code>IList<\/code>, \u0430 <code>List&lt;T&gt;<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 <code>IList<\/code>, <code>IList&lt;T&gt;<\/code> \u0438 <code>IReadOnlyList&lt;T&gt;<\/code>. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0432\u0441\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u044f\u0432\u043d\u043e, \u0430 \u043c\u0435\u0442\u043e\u0434\u044b <code>Add<\/code> \u0438 <code>Remove\u00a0<\/code>\u043e\u0442\u043a\u0440\u044b\u0442\u044b \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>List&lt;T&gt;<\/code> \u0434\u043e \u0441\u0435\u043c\u0438 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0447\u0435\u043c\u00a0<code>ArrayList<\/code>, \u0435\u0441\u043b\u0438 <code>T<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0438\u043c\u044b\u043c \u0442\u0438\u043f\u043e\u043c, \u0442.\u043a.\u00a0<code>List&lt;T&gt;<\/code> \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0443 \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 (boxing\/unboxing).<\/p>\n<p>\u0427\u043b\u0435\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u0430 <code>List&lt;T&gt;<\/code>:<\/p>\n<pre class=\"lang:c# decode:true \">public class List&lt;T&gt; : IList&lt;T&gt;, IReadOnlyList&lt;T&gt;\n{\n\u00a0 \u00a0 \/\/ \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b\n\u00a0 \u00a0 public List ();\n\u00a0 \u00a0\u00a0public List (IEnumerable&lt;T&gt; collection);\n\u00a0 \u00a0\u00a0public List (int capacity);\n\u00a0 \u00a0\u00a0\/\/\u00a0\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0430\n\u00a0 \u00a0\u00a0public void Add (T item);\n\u00a0 \u00a0\u00a0public void AddRange (IEnumerable&lt;T&gt; collection);\n\u00a0 \u00a0\u00a0public void Insert (int index, T item);\n\u00a0 \u00a0\u00a0public void InsertRange (int index, IEnumerable&lt;T&gt; collection);\n\u00a0 \u00a0\u00a0\/\/\u00a0\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435\n\u00a0 \u00a0\u00a0public bool Remove (T item);\n\u00a0 \u00a0\u00a0public void RemoveAt (int index);\n\u00a0 \u00a0\u00a0public void RemoveRange (int index, int count);\n\u00a0 \u00a0\u00a0public int RemoveAll (Predicate&lt;T&gt; match);\n\u00a0 \u00a0\u00a0\/\/\u00a0\u0418\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044f\n\u00a0 \u00a0\u00a0public T this [int index] { get; set; }\n\u00a0 \u00a0\u00a0public List&lt;T&gt; GetRange (int index, int count);\n\u00a0 \u00a0\u00a0public Enumerator&lt;T&gt; GetEnumerator();\n\u00a0 \u00a0\u00a0\/\/\u00a0\u042d\u043a\u0441\u043f\u043e\u0440\u0442, \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n\u00a0 \u00a0\u00a0public T[] ToArray ();\n\u00a0 \u00a0\u00a0public void CopyTo (T[] array);\n\u00a0 \u00a0\u00a0public void CopyTo (T[] array, int arrayIndex);\n\u00a0 \u00a0\u00a0public void CopyTo (int index, T[] array, int arrayIndex, int count);\n\u00a0 \u00a0\u00a0public ReadOnlyCollection&lt;T&gt; AsReadOnly ();\n\u00a0 \u00a0\u00a0public List&lt;TOutput&gt; ConvertAll&lt;TOutput&gt; (Converter &lt;T,TOutput&gt;\u00a0converter);\n\u00a0 \u00a0\u00a0\/\/ \u0414\u0440\u0443\u0433\u0438\u0435\n\u00a0 \u00a0\u00a0public void Reverse (); \/\/\u00a0\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u044b\u0439\n\u00a0 \u00a0\u00a0public int Capacity { get;set; } \/\/\u00a0\u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430\n\u00a0 \u00a0\u00a0public void TrimExcess (); \/\/ \u041e\u0431\u0440\u0435\u0437\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430\n\u00a0 \u00a0\u00a0public void Clear (); \/\/\u00a0\u0423\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b\n}\n<\/pre>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434 \u043a\u043b\u0430\u0441\u0441 <code>List&lt;T&gt;<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043c\u0435\u0442\u043e\u0434\u0430\u043c \u043a\u043b\u0430\u0441\u0441\u0430 <code>Array<\/code>. \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u0432:<\/p>\n<pre class=\"lang:c# decode:true \">List&lt;string&gt; words = new List&lt;string&gt;();\nwords.Add (\"melon\"); \/\/ \u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0441\u043f\u0438\u0441\u043a\u0430\nwords.Add (\"avocado\");\nwords.AddRange (new[] { \"banana\", \"plum\" } ); \/\/ \u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432\nwords.Insert (0, \"lemon\"); \/\/\u00a0\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0441\u043f\u0438\u0441\u043a\u0430\nwords.InsertRange (0, new[] { \"peach\", \"nashi\" }); \/\/\u00a0\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0441\u043f\u0438\u0441\u043a\u0430\nwords.Remove (\"melon\"); \/\/ \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\nwords.RemoveAt (3); \/\/\u00a0\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 4-\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\nwords.RemoveRange (0, 2); \/\/\u00a0\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u0432\u0443\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432\nwords.RemoveAll (s =&gt; s.StartsWith (\"n\"));\u00a0\/\/\u00a0\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u043e\u043a, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u0441 \"n\"\nConsole.WriteLine (words [0]); \/\/\u00a0\u043f\u0435\u0440\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e\nConsole.WriteLine (words [words.Count - 1]); \/\/\u00a0\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0441\u043b\u043e\u0432\u043e\nforeach (string s in words) Console.WriteLine (s); \/\/ \u0432\u0441\u0435 \u0441\u043b\u043e\u0432\u0430\nList&lt;string&gt; subset = words.GetRange (1, 2); \/\/\u00a0\u0441\u043e \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e \u0442\u0440\u0435\u0442\u044c\u0435 \u0441\u043b\u043e\u0432\u043e\nstring[] wordsArray = words.ToArray(); \/\/\u00a0\u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\n\/\/\u00a0\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u044b\u0445 \u0434\u0432\u0443\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430:\nstring[] existing = new string [1000];\nwords.CopyTo (0, existing, 998, 2);\n\/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435\nList&lt;string&gt; upperCastWords = words.ConvertAll (s =&gt; s.ToUpper());\nList&lt;int&gt; lengths = words.ConvertAll (s =&gt; s.Length);\n<\/pre>\n<h3>LinkedList&lt;T&gt;<\/h3>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>LinkedList&lt;T&gt;<\/code> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0434\u0432\u0443\u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a. <em>\u0414\u0432\u0443\u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a<\/em> &#8212; \u044d\u0442\u043e \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u0443\u0437\u043b\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u0436\u0434\u044b\u0439 \u0443\u0437\u0435\u043b \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0443\u0437\u0435\u043b, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0443\u0437\u0435\u043b \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \u0415\u0433\u043e \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432 \u043b\u044e\u0431\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0441\u043f\u0438\u0441\u043a\u0430, \u0442.\u043a. \u044d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0438\u0441\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e, \u043f\u0443\u0442\u0435\u043c \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430, \u0442.\u043a. \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u0438.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>LinkedList&lt;T&gt;<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u00a0<code>IEnumerable&lt;T&gt;<\/code> \u0438\u00a0<code>ICollection&lt;T&gt;<\/code> (\u0438 \u0438\u0445 \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b), \u043d\u043e \u043d\u0435\u00a0<code>IList&lt;T&gt;<\/code>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0423\u0437\u043b\u044b \u0441\u043f\u0438\u0441\u043a\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u043e\u043c\u00a0<code>LinkedListNode&lt;T&gt;<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">public sealed class LinkedListNode&lt;T&gt;\n{\n\u00a0 \u00a0 public LinkedList&lt;T&gt; List { get; }\n\u00a0 \u00a0 public LinkedListNode&lt;T&gt; Next { get; }\n\u00a0 \u00a0 public LinkedListNode&lt;T&gt; Previous { get; }\n\u00a0 \u00a0 public T Value { get; set; }\n}<\/pre>\n<p>\u0427\u043b\u0435\u043d\u044b \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>LinkedList&lt;T&gt;<\/code>:<\/p>\n<pre class=\"lang:c# decode:true \">\/\/ \u041c\u0435\u0442\u043e\u0434\u044b \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0437\u043b\u0430:\npublic void AddFirst (LinkedListNode&lt;T&gt; node);\npublic LinkedListNode&lt;T&gt; AddFirst (T value);\npublic void AddLast (LinkedListNode&lt;T&gt; node);\npublic LinkedListNode&lt;T&gt; AddLast (T value);\npublic void AddAfter (LinkedListNode&lt;T&gt; node, LinkedListNode&lt;T&gt; newNode);\npublic LinkedListNode&lt;T&gt; AddAfter (LinkedListNode&lt;T&gt; node, T value);\npublic void AddBefore (LinkedListNode&lt;T&gt; node, LinkedListNode&lt;T&gt; newNode);\npublic LinkedListNode&lt;T&gt; AddBefore (LinkedListNode&lt;T&gt; node, T value);\n\/\/ \u041c\u0435\u0442\u043e\u0434\u044b \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0443\u0437\u043b\u0430:\npublic void Clear ();\npublic void RemoveFirst ();\npublic void RemoveLast ();\npublic bool Remove (T value);\npublic void Remove (LinkedListNode&lt;T&gt; node);\n\/\/ \u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430:\npublic int Count { get; } \/\/ \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0437\u043b\u043e\u0432\npublic LinkedListNode&lt;T&gt; First { get; } \/\/\u00a0\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0443\u0437\u0435\u043b\npublic LinkedListNode&lt;T&gt; Last { get; } \/\/\u00a0\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0443\u0437\u0435\u043b\n\/\/ \u041c\u0435\u0442\u043e\u0434\u044b \u043f\u043e\u0438\u0441\u043a\u0430:\npublic bool Contains (T value);\npublic LinkedListNode&lt;T&gt; Find (T value);\npublic LinkedListNode&lt;T&gt; FindLast (T value);\n\/\/ \u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\npublic void CopyTo (T[] array, int index);\n\/\/ \u041d\u0443\u043c\u0435\u0440\u0430\u0442\u043e\u0440\npublic Enumerator&lt;T&gt; GetEnumerator\u00a0();\n<\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre class=\"lang:c# decode:true\">var tune = new LinkedList&lt;string&gt;();\ntune.AddFirst (\"do\"); \/\/ do\ntune.AddLast (\"so\"); \/\/ do - so\ntune.AddAfter (tune.First, \"re\"); \/\/ do - re- so\ntune.AddAfter (tune.First.Next, \"mi\"); \/\/ do - re - mi- so\ntune.AddBefore (tune.Last, \"fa\"); \/\/ do - re - mi - fa- so\ntune.RemoveFirst(); \/\/ re - mi - fa - so\ntune.RemoveLast(); \/\/ re - mi - fa\nLinkedListNode&lt;string&gt; miNode = tune.Find (\"mi\");\ntune.Remove (miNode); \/\/ re - fa\ntune.AddFirst (miNode); \/\/ mi- re - fa\nforeach (string s in tune) Console.WriteLine (s);<\/pre>\n<h3 id=\"jstoc321\">Queue&lt;T&gt; \u0438\u00a0Queue<\/h3>\n<p><code>Queue&lt;T&gt;<\/code> \u0438 <code>Queue<\/code> &#8212; \u044d\u0442\u043e <strong>\u043e\u0447\u0435\u0440\u0435\u0434\u0438<\/strong> &#8212; \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 FIFO (first-in first-out &#8212;\u00a0\u043f\u0435\u0440\u0432\u044b\u043c \u0437\u0430\u0448\u0435\u043b, \u043f\u0435\u0440\u0432\u044b\u043c \u0432\u044b\u0448\u0435\u043b). \u041e\u0447\u0435\u0440\u0435\u0434\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c\u044b\u043c\u0438, \u043d\u043e \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b\u00a0<code>IList&lt;T&gt;<\/code>\/<code>IList<\/code>, \u0442.\u043a. \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e &#8212; \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f (\u0432 \u043a\u043e\u043d\u0435\u0446 \u043e\u0447\u0435\u0440\u0435\u0434\u0438) \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f (\u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u0438) \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u0437 \u043e\u0447\u0435\u0440\u0435\u0434\u0438.<\/p>\n<pre class=\"lang:c# decode:true\">public class Queue&lt;T&gt; : IEnumerable&lt;T&gt;, ICollection, IEnumerable\n{\n\u00a0 \u00a0 \/\/ \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b:\n\u00a0 \u00a0 public Queue ();\n\u00a0 \u00a0 public Queue (IEnumerable&lt;T&gt; collection); \/\/\u00a0\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b\n\u00a0 \u00a0 public Queue (int capacity); \/\/\u00a0\u0421\u043e\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\n\u00a0 \u00a0 \/\/ \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u043b\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043c\u0435\u0442\u043e\u0434\u044b:\n\u00a0 \u00a0 public void Enqueue (T item); \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u043a\u043e\u043d\u0435\u0446 \u043e\u0447\u0435\u0440\u0435\u0434\u0438\n\u00a0 \u00a0 public T Dequeue (); \/\/ \u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u0438\n\u00a0 \u00a0\u00a0public T Peek (); \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0431\u0435\u0437 \u0435\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f\n\u00a0 \u00a0 \/\/ \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435:\n\u00a0 \u00a0 public void Clear ();\n\u00a0 \u00a0 public bool Contains (T item);\n\u00a0 \u00a0 public void CopyTo (T[] array, int arrayIndex);\n\u00a0 \u00a0 public int Count { get; }\n\u00a0 \u00a0 public Enumerator&lt;T&gt; GetEnumerator\u00a0();\n\u00a0 \u00a0 public T[] ToArray ();\n\u00a0 \u00a0 public void TrimExcess ();\n}<\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre class=\"lang:c# decode:true\">var q = new Queue&lt;int&gt;();\nq.Enqueue (10);\nq.Enqueue (20);\nint[] data = q.ToArray(); \/\/\u00a0\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\nConsole.WriteLine (q.Count); \/\/ \"2\"\nConsole.WriteLine (q.Peek()); \/\/ \"10\"\nConsole.WriteLine (q.Dequeue()); \/\/ \"10\"\nConsole.WriteLine (q.Dequeue()); \/\/ \"20\"\nConsole.WriteLine (q.Dequeue()); \/\/\u00a0\u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0442.\u043a. \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043f\u0443\u0441\u0442\u0430<\/pre>\n<h3 id=\"jstoc322\">Stack&lt;T&gt; \u0438\u00a0Stack<\/h3>\n<p><code>Stack&lt;T&gt;<\/code> \u0438\u00a0<code>Stack<\/code> &#8212; \u044d\u0442\u043e <strong>\u0441\u0442\u044d\u043a\u0438<\/strong> &#8212; \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 LIFO (last-in first-out &#8212;\u00a0\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u043f\u0440\u0438\u0448\u0435\u043b, \u043f\u0435\u0440\u0432\u044b\u043c \u0432\u044b\u0448\u0435\u043b).<\/p>\n<pre class=\"lang:c# decode:true \">public class Stack&lt;T&gt; : IEnumerable&lt;T&gt;, ICollection, IEnumerable\n{\n\u00a0 \u00a0 \/\/ \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b:\n\u00a0 \u00a0 public Stack ();\n\u00a0 \u00a0 public Stack (IEnumerable&lt;T&gt; collection);\n\u00a0 \u00a0 public Stack (int capacity);\n\u00a0 \u00a0 \/\/ \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u043b\u044f \u0441\u0442\u0435\u043a\u0430 \u043c\u0435\u0442\u043e\u0434\u044b:\n\u00a0 \u00a0 public void Push (T item); \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0430 \u0432\u0435\u0440\u0445\u0443\u0448\u043a\u0443 \u0441\u0442\u044d\u043a\u0430\n\u00a0 \u00a0 public T Pop (); \/\/ \u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u0432\u0435\u0440\u0445\u0443\u0448\u043a\u0438 \u0441\u0442\u044d\u043a\u0430\n\u00a0 \u00a0 public T Peek (); \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u0432\u0435\u0440\u0445\u0443\u0448\u043a\u0438 \u0441\u0442\u044d\u043a\u0430 \u0431\u0435\u0437 \u0435\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f\n\u00a0 \u00a0 \/\/ \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435:\n\u00a0 \u00a0 public void Clear ();\n\u00a0 \u00a0 public bool Contains (T item);\n\u00a0 \u00a0 public void CopyTo (T[] array, int arrayIndex);\n\u00a0 \u00a0 public int Count { get; }\n\u00a0 \u00a0 public Enumerator&lt;T&gt; GetEnumerator\u00a0();\n\u00a0 \u00a0 public T[] ToArray ();\n\u00a0 \u00a0 public void TrimExcess ();\n}\n<\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre class=\"lang:c# decode:true\">var s = new Stack&lt;int&gt;();\ns.Push (1); \/\/ \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u044d\u043a\u0430 -\u00a01\ns.Push (2); \/\/ \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u044d\u043a\u0430 - 1,2\ns.Push (3); \/\/ \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u044d\u043a\u0430 -\u00a01,2,3\nConsole.WriteLine (s.Count); \/\/ \u0412\u044b\u0432\u043e\u0434\u0438\u0442\u00a03\nConsole.WriteLine (s.Peek()); \/\/ \u0412\u044b\u0432\u043e\u0434\u0438\u0442\u00a03, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u044d\u043a\u0430 -\u00a01,2,3\nConsole.WriteLine (s.Pop()); \/\/ \u0412\u044b\u0432\u043e\u0434\u0438\u0442\u00a03, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u044d\u043a\u0430 -\u00a01,2\nConsole.WriteLine (s.Pop()); \/\/ \u0412\u044b\u0432\u043e\u0434\u0438\u0442\u00a02, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u044d\u043a\u0430 -\u00a01\nConsole.WriteLine (s.Pop()); \/\/ \u0412\u044b\u0432\u043e\u0434\u0438\u0442\u00a01,\u00a0\u0441\u0442\u044d\u043a \u043f\u0443\u0441\u0442\nConsole.WriteLine (s.Pop()); \/\/ \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/pre>\n<h3 id=\"jstoc323\">BitArray<\/h3>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>BitArray<\/code> &#8212; \u044d\u0442\u043e \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0449\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 <code>bool<\/code>. \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u0442\u0440\u0430\u0442 \u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430, \u0447\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 <code>bool<\/code>, \u0442.\u043a. \u043a\u0430\u0436\u0434\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0431\u0438\u0442.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439: <code>And<\/code>, <code>Or<\/code>, <code>Xor<\/code> \u0438 <code>Not<\/code> (\u0432\u0441\u0435 \u043a\u0440\u043e\u043c\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u00a0<code>BitArray<\/code>).<\/p>\n<pre class=\"lang:c# decode:true \">var bits = new BitArray(2);\nbits[1] = true;\nbits.Xor (bits);\nConsole.WriteLine (bits[1]);\n<\/pre>\n<h3>HashSet&lt;T&gt; \u0438\u00a0SortedSet&lt;T&gt;<\/h3>\n<p><code>HashSet&lt;T&gt;<\/code> \u0438 <code>SortedSet&lt;T&gt;<\/code> &#8212; \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438, \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438:<\/p>\n<ul>\n<li>\u0438\u0445 \u043c\u0435\u0442\u043e\u0434s <code>Contains<\/code> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0431\u044b\u0441\u0442\u0440\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0445\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430<\/li>\n<li>\u043e\u043d\u0438 \u043d\u0435 \u0445\u0440\u0430\u043d\u044f\u0442 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0438 \u043c\u043e\u043b\u0447\u0430 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u044e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u043e\u0432<\/li>\n<li>\u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u043f\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d<\/li>\n<\/ul>\n<p><code>SortedSet&lt;T&gt;<\/code> \u0445\u0440\u0430\u043d\u0438\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u043c\u0438,\u00a0<code>HashSet&lt;T&gt;<\/code>\u00a0&#8212; \u043d\u0435\u0442.\u00a0<code>HashSet&lt;T&gt;\u00a0<\/code>\u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0445\u044d\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u044e\u0447\u0438, \u0430\u00a0<code>SortedSet&lt;T&gt;<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043a\u0440\u0430\u0441\u043d\u043e-\u0447\u0435\u0440\u043d\u043e\u0433\u043e \u0434\u0435\u0440\u0435\u0432\u0430.<\/p>\n<p>\u041e\u0431\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>ICollection&lt;T&gt;<\/code> \u0438 \u043f\u043e\u043c\u0438\u043c\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b:<\/p>\n<pre class=\"lang:c# decode:true \">public int RemoveWhere (Predicate&lt;T&gt; match) \/\/ \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442\u0430\npublic void UnionWith (IEnumerable&lt;T&gt; other); \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e (\u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044f \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b)\n\/\/ \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0438\u0437 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438:\npublic void IntersectWith (IEnumerable&lt;T&gt; other); \/\/ \u0423\u0434\u0430\u043b\u044f\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e \u0441\u0440\u0430\u0437\u0443 \u0432 \u043e\u0431\u043e\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u0430\u0445\npublic void ExceptWith (IEnumerable&lt;T&gt; other); \/\/ \u0423\u0434\u0430\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0438\u0437 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438\npublic void SymmetricExceptWith (IEnumerable&lt;T&gt; other); \/\/ \u0423\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c\u00a0\u043d\u0430\u0431\u043e\u0440\u0435\n\/\/\u00a0\u041c\u0435\u0442\u043e\u0434\u044b, \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0449\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440:\npublic bool IsSubsetOf (IEnumerable&lt;T&gt; other);\npublic bool IsProperSubsetOf (IEnumerable&lt;T&gt; other);\npublic bool IsSupersetOf (IEnumerable&lt;T&gt; other);\npublic bool IsProperSupersetOf (IEnumerable&lt;T&gt; other);\npublic bool Overlaps (IEnumerable&lt;T&gt; other);\npublic bool SetEquals (IEnumerable&lt;T&gt; other);\n<\/pre>\n<p><code>SortedSet&lt;T&gt;<\/code> \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0447\u043b\u0435\u043d\u044b:<\/p>\n<pre class=\"lang:c# decode:true \">public virtual SortedSet&lt;T&gt; GetViewBetween (T lowerValue, T upperValue)\npublic IEnumerable&lt;T&gt; Reverse ()\npublic T Min { get; }\npublic T Max { get; }\n<\/pre>\n<h2>\u0421\u043b\u043e\u0432\u0430\u0440\u0438<\/h2>\n<p>\u0421\u043b\u043e\u0432\u0430\u0440\u044c &#8212; \u044d\u0442\u043e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u043e\u0439 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0412 .NET \u0434\u043b\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0434\u0432\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u00a0<code>IDictionary<\/code> \u0438\u00a0<code>IDictionary &lt;TKey, TValue&gt;<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u044f\u0434 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 (\u043d\u0435\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435:\u00a0<code>Dictionary &lt;K,V&gt;<\/code>,\u00a0<code>Hashtable<\/code>,\u00a0<code>ListDictionary<\/code>,\u00a0<code>OrderedDictionary<\/code>; \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439:\u00a0<code>SortedDictionary\u00a0&lt;K,V&gt;<\/code>,\u00a0<code>SortedList &lt;K,V&gt;<\/code>,\u00a0<code>SortedList<\/code>). \u0420\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u043d\u0438 \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0443 \u0438 \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n<h3 id=\"jstoc326\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 IDictionary&lt;TKey,TValue&gt; \u0438\u00a0IDictionary<\/h3>\n<p>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IDictionary&lt;TKey,TValue&gt;<\/code> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0430\u0440\u0430\u0445 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041e\u043d \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442\u00a0<code>ICollection&lt;T&gt;<\/code>, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u043c\u0435\u0442\u043e\u0434\u044b \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u00a0\u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432:<\/p>\n<pre class=\"lang:c# decode:true\">public interface IDictionary &lt;TKey, TValue&gt; :\n\u00a0 \u00a0 ICollection &lt;KeyValuePair &lt;TKey, TValue&gt;&gt;, IEnumerable\n{\n\u00a0 \u00a0 bool ContainsKey (TKey key);\n\u00a0 \u00a0 bool TryGetValue (TKey key, out TValue value);\n\u00a0 \u00a0 void Add (TKey key, TValue value);\n\u00a0 \u00a0 bool Remove (TKey key);\n\u00a0 \u00a0 TValue this [TKey key] { get; set; } \/\/\u00a0\u0418\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440 \u043f\u043e \u043a\u043b\u044e\u0447\u0443\n\u00a0 \u00a0 ICollection &lt;TKey&gt; Keys { get; } \/\/\u00a0\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u044e\u0447\u0438\n\u00a0 \u00a0 ICollection &lt;TValue&gt; Values { get; } \/\/\u00a0\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\n}<\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043b\u0438\u0431\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 <code>Add<\/code>, \u043b\u0438\u0431\u043e \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443 (\u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440\u0430). \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u043a\u043b\u044e\u0447 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d, \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d. \u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u0437\u043e\u0432 <code>Add<\/code> \u0434\u0432\u0430\u0436\u0434\u044b \u0441 \u0442\u0435\u043c \u0436\u0435 \u043a\u043b\u044e\u0447\u043e\u043c \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0414\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u0437 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440, \u043b\u0438\u0431\u043e \u043c\u0435\u0442\u043e\u0434\u00a0<code>TryGetValue<\/code>. \u0415\u0441\u043b\u0438 \u043a\u043b\u044e\u0447 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0430 \u043c\u0435\u0442\u043e\u0434\u00a0<code>TryGetValue<\/code> \u0432\u0435\u0440\u043d\u0435\u0442 false. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>ContainsKey<\/code> \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435 (\u043f\u043e \u043a\u043b\u044e\u0447\u0443).<\/p>\n<p>\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u00a0<code>KeyValuePair<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">public struct KeyValuePair &lt;TKey, TValue&gt;\n{\n\u00a0 \u00a0 public TKey Key { get; }\n\u00a0 \u00a0 public TValue Value { get; }\n}<\/pre>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IReadOnlyDictionary&lt;TKey,TValue&gt;<\/code> \u0434\u043b\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0<code>IDictionary<\/code> \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0441\u0445\u043e\u0436 \u0441 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u043c, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0434\u0432\u0443\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0439:<\/p>\n<ul>\n<li>\u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440 \u0434\u0430\u0435\u0442 <code>null<\/code>, \u0430 \u043d\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/li>\n<li>\u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e\u00a0<code>Contains<\/code>, \u0430 \u043d\u0435\u00a0<code>ContainsKey<\/code><\/li>\n<\/ul>\n<p>\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e\u043c\u0443\u00a0<code>IDictionary<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u00a0<code>DictionaryEntry<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">public struct DictionaryEntry\n{\n\u00a0 \u00a0 public object Key { get; set; }\n\u00a0 \u00a0 public object Value { get; set; }\n}<\/pre>\n<h3 id=\"jstoc327\">Dictionary&lt;TKey,TValue&gt; \u0438\u00a0Hashtable<\/h3>\n<p>\u041e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u00a0<code>Dictionary&lt;TKey,TValue&gt;<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0445\u044d\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c. \u041d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u00a0<code>Dictionary&lt;TKey,TValue&gt;\u00a0<\/code>\u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00a0<code>Hashtable<\/code>.\u00a0<code>Dictionary&lt;TKey,TValue&gt;<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0438 \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b <code>IDictionary<\/code>.<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\u00a0<code>Dictionary&lt;TKey,TValue&gt;<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">var d = new Dictionary&lt;string, int&gt;();\nd.Add(\"One\", 1);\nd[\"Two\"] = 2; \/\/\u00a0\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c\nd[\"Two\"] = 22; \/\/\u00a0\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\nd[\"Three\"] = 3;\nConsole.WriteLine (d[\"Two\"]); \/\/ \"22\"\nConsole.WriteLine (d.ContainsKey (\"One\")); \/\/ true (\u0431\u044b\u0441\u0442\u0440\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f)\nConsole.WriteLine (d.ContainsValue (3)); \/\/ true (\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f)\nint val = 0;\nif (!d.TryGetValue (\"onE\", out val))\n\u00a0 \u00a0 Console.WriteLine (\"No val\"); \/\/ \"No val\"\n\/\/\u00a0\u0422\u0440\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044f:\nforeach (KeyValuePair&lt;string, int&gt; kv in d)\n\u00a0 \u00a0 Console.WriteLine (kv.Key + \"; \" + kv.Value);\nforeach (string s in d.Keys) Console.Write (s);\n\u00a0 \u00a0 Console.WriteLine();\nforeach (int i in d.Values) \n\u00a0 \u00a0 Console.Write (i);<\/pre>\n<p>\u041b\u0435\u0436\u0430\u0449\u0430\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u0445\u044d\u0448-\u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043a\u043b\u044e\u0447 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0432 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0439 \u0445\u044d\u0448-\u043a\u043e\u0434 &#8212; \u043f\u0441\u0435\u0432\u0434\u043e\u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 &#8212; \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0445\u044d\u0448-\u043a\u043e\u0434 \u0432 \u0445\u044d\u0448-\u043a\u043b\u044e\u0447. \u042d\u0442\u043e\u0442 \u0445\u044d\u0448-\u043a\u043b\u044e\u0447 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f, \u043a\u0430\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a \u043d\u0435\u043c\u0443 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f. \u0421\u043b\u043e\u0432\u0430\u0440\u044c \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0445\u044d\u0448-\u043a\u043e\u0434\u043e\u0432. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>object.Equals<\/code> \u043a\u043b\u044e\u0447\u0430, \u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0445\u044d\u0448-\u043a\u043e\u0434 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0442\u043e\u0434\u00a0<code>GetHashCode<\/code>. \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0438\u0431\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u043b\u0438\u0431\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0443 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u00a0<code>IEqualityComparer<\/code>.<\/p>\n<p>\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b <code>Dictionary<\/code> \u0438\u00a0<code>Hashtable<\/code> \u043d\u0435 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u043f\u043e\u0440\u044f\u0434\u043e\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f. \u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b.<\/p>\n<h3 id=\"jstoc328\">OrderedDictionary<\/h3>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>OrderedDictionary<\/code> &#8212; \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u00a0\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0432 \u0442\u043e\u043c \u0436\u0435 \u0441\u0430\u043c\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c. \u041e\u043d \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u043c. \u041f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u0438 \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443, \u0438 \u043f\u043e \u043a\u043b\u044e\u0447\u0443.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>OrderedDictionary<\/code>\u00a0\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e\u00a0<code>Hashtable<\/code> \u0438\u00a0<code>ArrayList<\/code>: \u043e\u043d \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u00a0<code>Hashtable<\/code>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0432\u0440\u043e\u0434\u0435\u00a0<code>RemoveAt<\/code> \u0438 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0442\u043e\u0440\u043e\u043c.<\/p>\n<p>\u041e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n<h3 id=\"jstoc329\">ListDictionary \u0438\u00a0HybridDictionary<\/h3>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>ListDictionary<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043e\u0434\u043d\u043e\u0441\u0432\u044f\u0437\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u041e\u043d \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c, \u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432.\u00a0<code>ListDictionary<\/code> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0441\u043f\u0438\u0441\u043a\u043e\u0432, \u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0434\u043b\u044f \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 (\u0434\u043e 10 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432).<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>HybridDictionary<\/code> &#8212; \u044d\u0442\u043e\u00a0<code>ListDictionary<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u00a0<code>Hashtable<\/code> \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430, \u0440\u0435\u0448\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0438\u0437\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438\u00a0<code>ListDictionary<\/code>. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0438\u0437\u043a\u043e\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0438 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043e\u0442\u00a0<code>ListDictionary<\/code> \u043a\u00a0<code>Hashtable<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0435\u0441\u044c\u043c\u0430 \u0437\u0430\u0442\u0440\u0430\u0442\u043d\u044b\u043c \u043f\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<h3 id=\"jstoc330\">\u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438<\/h3>\n<p>.NET\u00a0\u043f\u0440\u0435\u0434\u0443\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u0434\u0432\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439:\u00a0<code>SortedDictionary&lt;TKey,TValue&gt;<\/code> \u0438\u00a0<code>SortedList&lt;TKey,TValue&gt;<\/code>. \u0418\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u043a\u043b\u044e\u0447\u0443.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>SortedDictionary<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043a\u0440\u0430\u0441\u043d\u043e-\u0447\u0435\u0440\u043d\u043e \u0434\u0435\u0440\u0435\u0432\u0430, \u0432 \u0441\u0438\u043b\u0443 \u0447\u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0438 \u043f\u0440\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0435, \u0438 \u043f\u0440\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432. \u041a\u043b\u0430\u0441\u0441\u00a0<code>SortedList<\/code> \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u044b \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u044b\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432, \u0447\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435, \u043d\u043e \u043d\u0438\u0437\u043a\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0442\u0430\u0432\u043a\u0438.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>SortedDictionary<\/code> \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c\u00a0<code>SortedList<\/code> \u043f\u0440\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043d\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u043f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0443. \u0414\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0432 \u043e\u0431\u043e\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b.<\/p>\n<h2 id=\"jstoc331\">\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438<\/h2>\n<h3 id=\"jstoc332\">Collection&lt;T&gt; \u0438\u00a0CollectionBase<\/h3>\n<p>\u041e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u00a0<code>Collection&lt;T&gt;<\/code> \u0438 \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439\u00a0<code>CollectionBase<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>Collection&lt;T&gt;<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u043e\u0439 \u0434\u043b\u044f\u00a0<code>List&lt;T&gt;<\/code> \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u0430 \u0438 \u0447\u0430\u0441\u0442\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e:<\/p>\n<pre class=\"lang:c# decode:true\">public class Collection&lt;T&gt; :\n\u00a0 \u00a0 IList&lt;T&gt;, ICollection&lt;T&gt;, IEnumerable&lt;T&gt;, IList, ICollection, IEnumerable\n{\n\u00a0 \u00a0 protected virtual void ClearItems\u00a0();\n\u00a0 \u00a0 protected virtual void InsertItem (int index, T item);\n\u00a0 \u00a0 protected virtual void RemoveItem (int index);\n\u00a0 \u00a0 protected virtual void SetItem (int index, T item);\n\u00a0 \u00a0 protected IList&lt;T&gt; Items { get; }\n}<\/pre>\n<p>\u041d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 <code>CollectionBase<\/code> \u043c\u0435\u043d\u0435\u0435 \u0443\u0434\u043e\u0431\u0435\u043d \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438. \u041e\u043d \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043c\u0435\u0442\u043e\u0434\u044b\u00a0<code>OnInsert<\/code>, <code>OnInsertComplete<\/code>, <code>OnSet<\/code>, <code>OnSetComplete<\/code>, <code>OnRemove<\/code>,<code>OnRemoveComplete<\/code>,<br \/>\n<code>OnClear<\/code> \u0438 <code>OnClearComplete<\/code>, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435 \u0442\u043e\u0442 \u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b.<\/p>\n<h3 id=\"jstoc333\">KeyedCollection&lt;TKey,TItem&gt; \u0438\u00a0DictionaryBase<\/h3>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>KeyedCollection&lt;TKey,TItem&gt;<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u0430\u0441\u0441\u043e\u043c\u00a0<code>Collection&lt;T&gt;<\/code>, \u0432 \u0441\u0438\u043b\u0443 \u0447\u0435\u0433\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0438\u00a0\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u043f\u043e \u043a\u043b\u044e\u0447\u0443, \u043f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u0435.<\/p>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043a\u043b\u0430\u0441\u0441\u0430\u00a0<code>KeyedCollection&lt;TKey,TItem&gt;<\/code>:<\/p>\n<pre class=\"lang:c# decode:true\">public abstract class KeyedCollection &lt;TKey, TItem&gt; : Collection &lt;TItem&gt;\n{\n\u00a0 \u00a0 protected abstract TKey GetKeyForItem (TItem item); \/\/\u00a0\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043b\u044e\u0447\n\u00a0 \u00a0 protected void ChangeItemKey (TItem item, TKey newKey); \/\/ \u0418\u0437\u043c\u0435\u043d\u044f\u0435\u0442 \u043a\u043b\u044e\u0447\n\u00a0 \u00a0 public TItem this [TKey key] { get; } \/\/ \u0418\u043d\u0434\u0435\u043a\u0441\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e \u043a\u043b\u044e\u0447\u0443\n\u00a0 \u00a0 protected IDictionary&lt;TKey, TItem&gt; Dictionary { get; } \/\/ \u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c\n}<\/pre>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>DictionaryBase<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439<code>KeyedCollection&lt;TKey,TItem&gt;<\/code>\u00a0\u0438 \u043c\u0435\u043d\u0435\u0435 \u0443\u0434\u043e\u0431\u0435\u043d \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n<h3 id=\"jstoc334\">ReadOnlyCollection&lt;T&gt;<\/h3>\n<p>\u041a\u043b\u0430\u0441\u0441\u00a0<code>ReadOnlyCollection&lt;T&gt;<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u043e\u0439 \u0434\u043b\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438, \u0434\u0435\u043b\u0430\u044f \u0435\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f. \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043a\u043b\u0430\u0441\u0441\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0445\u043e\u0434\u043d\u0443\u044e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0435\u0435 \u0441\u0441\u044b\u043b\u043a\u0443. \u041e\u043d \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043a\u043e\u043f\u0438\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0441\u043b\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430 \u0438\u0437-\u0432\u043d\u0435, \u044d\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0434\u043d\u044b \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443\u00a0<code>ReadOnlyCollection&lt;T&gt;<\/code>.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432: \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b.<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[29],"tags":[11],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.4.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C# | devKazakov.com<\/title>\n<meta name=\"description\" content=\"\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432: \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C# | devKazakov.com\" \/>\n<meta property=\"og:description\" content=\"\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432: \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/\" \/>\n<meta property=\"og:site_name\" content=\"devKazakov.com\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-16T14:54:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-12T23:33:35+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roman Kazakov\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"27 \u043c\u0438\u043d\u0443\u0442\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkazakov.com\/ru\/#website\",\"url\":\"https:\/\/devkazakov.com\/ru\/\",\"name\":\"devKazakov.com\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkazakov.com\/ru\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#webpage\",\"url\":\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/\",\"name\":\"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C# | devKazakov.com\",\"isPartOf\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#website\"},\"datePublished\":\"2014-11-16T14:54:16+00:00\",\"dateModified\":\"2022-06-12T23:33:35+00:00\",\"description\":\"\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432: \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b.\",\"breadcrumb\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkazakov.com\/ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C#\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#webpage\"},\"author\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3\"},\"headline\":\"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C#\",\"datePublished\":\"2014-11-16T14:54:16+00:00\",\"dateModified\":\"2022-06-12T23:33:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#webpage\"},\"wordCount\":173,\"publisher\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3\"},\"keywords\":[\"C#\"],\"articleSection\":[\"C#\"],\"inLanguage\":\"ru-RU\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3\",\"name\":\"Roman Kazakov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/devkazakov.com\/ru\/#personlogo\",\"inLanguage\":\"ru-RU\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d99e1eb55cb87629fd1b4c80a24ea831?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d99e1eb55cb87629fd1b4c80a24ea831?s=96&d=mm&r=g\",\"caption\":\"Roman Kazakov\"},\"logo\":{\"@id\":\"https:\/\/devkazakov.com\/ru\/#personlogo\"},\"sameAs\":[\"https:\/\/devkazakov.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C# | devKazakov.com","description":"\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432: \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/","og_locale":"ru_RU","og_type":"article","og_title":"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C# | devKazakov.com","og_description":"\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432: \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b.","og_url":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/","og_site_name":"devKazakov.com","article_published_time":"2014-11-16T14:54:16+00:00","article_modified_time":"2022-06-12T23:33:35+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"Roman Kazakov","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"27 \u043c\u0438\u043d\u0443\u0442"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/devkazakov.com\/ru\/#website","url":"https:\/\/devkazakov.com\/ru\/","name":"devKazakov.com","description":"","publisher":{"@id":"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkazakov.com\/ru\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ru-RU"},{"@type":"WebPage","@id":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#webpage","url":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/","name":"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C# | devKazakov.com","isPartOf":{"@id":"https:\/\/devkazakov.com\/ru\/#website"},"datePublished":"2014-11-16T14:54:16+00:00","dateModified":"2022-06-12T23:33:35+00:00","description":"\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432: \u0441\u043f\u0438\u0441\u043a\u0438 \u0441 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u043d\u0435\u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u043c\u0430\u0441\u0441\u0438\u0432\u044b.","breadcrumb":{"@id":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkazakov.com\/ru\/"},{"@type":"ListItem","position":2,"name":"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C#"}]},{"@type":"Article","@id":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#article","isPartOf":{"@id":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#webpage"},"author":{"@id":"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3"},"headline":"\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0432 C#","datePublished":"2014-11-16T14:54:16+00:00","dateModified":"2022-06-12T23:33:35+00:00","mainEntityOfPage":{"@id":"https:\/\/devkazakov.com\/ru\/blog\/collections-c-sharp\/#webpage"},"wordCount":173,"publisher":{"@id":"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3"},"keywords":["C#"],"articleSection":["C#"],"inLanguage":"ru-RU"},{"@type":["Person","Organization"],"@id":"https:\/\/devkazakov.com\/ru\/#\/schema\/person\/b3f48bf8438d7d5354ee81e92dc477c3","name":"Roman Kazakov","image":{"@type":"ImageObject","@id":"https:\/\/devkazakov.com\/ru\/#personlogo","inLanguage":"ru-RU","url":"https:\/\/secure.gravatar.com\/avatar\/d99e1eb55cb87629fd1b4c80a24ea831?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d99e1eb55cb87629fd1b4c80a24ea831?s=96&d=mm&r=g","caption":"Roman Kazakov"},"logo":{"@id":"https:\/\/devkazakov.com\/ru\/#personlogo"},"sameAs":["https:\/\/devkazakov.com"]}]}},"_links":{"self":[{"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/posts\/1040"}],"collection":[{"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/comments?post=1040"}],"version-history":[{"count":2,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/posts\/1040\/revisions"}],"predecessor-version":[{"id":2174,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/posts\/1040\/revisions\/2174"}],"wp:attachment":[{"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/media?parent=1040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/categories?post=1040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkazakov.com\/ru\/wp-json\/wp\/v2\/tags?post=1040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}