Normalize line endings.
[mono.git] / mcs / tools / mdoc / Test / en.expected.importecmadoc / System / Array.xml
1 <Type Name="Array" FullName="System.Array">
2   <TypeSignature Language="C#" Value="public class Array" />
3   <AssemblyInfo>
4     <AssemblyName>DocTest</AssemblyName>
5     <AssemblyVersion>0.0.0.0</AssemblyVersion>
6   </AssemblyInfo>
7   <Base>
8     <BaseTypeName>System.Object</BaseTypeName>
9   </Base>
10   <Interfaces />
11   <Docs>
12     <summary>
13       <para> Serves as the base class for arrays. Provides methods for creating,
14       copying, manipulating, searching, and sorting arrays.</para>
15     </summary>
16     <remarks>
17       <para>This class is intended to be used as a base class by
18       language implementations that support arrays. Only the system can derive from
19       this type: derived classes of <see cref="T:System.Array" /> are not to be created by the developer.</para>
20       <block subset="none" type="note">
21         <para>An array is a collection of
22          identically typed data <paramref name="elements" /> that are accessed and referenced by
23          sets of integral <paramref name="indices" />. </para>
24         <para>The <paramref name="rank" /> of an array is the number
25       of dimensions in the array. Each dimension has its own set of indices. An array
26       with a rank greater than one can have a different lower
27       bound and a different number of elements for each dimension. Multidimensional
28       arrays (i.e. arrays with a rank greater than one) are processed in row-major
29       order. </para>
30         <para>The <paramref name="lower bound" /> of a dimension
31    is the starting index of that dimension. </para>
32         <para>The <paramref name="length" /> of an array is the total number of elements contained in all of its
33 dimensions. </para>
34         <para>A <paramref name="vector" /> is a
35 one-dimensional array with a <paramref name="lower bound" /> of '0'. </para>
36         <para>If the implementer creates a derived class of <see cref="T:System.Array" />, expected <see cref="T:System.Array" /> behavior
37 cannot be guaranteed. For information on array-like objects with increased
38 functionality, see the <see cref="T:System.Collections.IList" /> and <see cref="T:System.Collections.Generic.IList&lt;T&gt;" /> interfaces. For more information regarding the use of arrays versus the use
39 of collections, see Partition V of the CLI Specification. </para>
40       </block>
41       <para>Every specific <see cref="T:System.Array" /> type has three instance methods defined on it.
42    While some programming languages allow direct access to these methods, they are
43    primarily intended to be called by the output of compilers based on language
44    syntax that deals with arrays. </para>
45       <list type="bullet">
46         <item>
47           <term>
48             <para>
49               <c>Get</c>: Takes as many <see cref="T:System.Int32" /> arguments as the array
50    has dimensions and returns the value stored at the given index. It throws a
51 <see cref="T:System.IndexOutOfRangeException" /> 
52 exception for invalid indices. </para>
53           </term>
54         </item>
55         <item>
56           <term>
57             <para>
58               <c>Set</c>: Takes as many <see cref="T:System.Int32" /> arguments as the array
59    has dimensions, plus one additional argument (the last argument) which has the
60    same type as an array element. It stores the final value in the specified
61    index of the array. It throws a <see cref="T:System.IndexOutOfRangeException" />
62    exception for invalid indices. </para>
63           </term>
64         </item>
65         <item>
66           <term>
67             <para>
68               <c>Address</c>: Takes as many <see cref="T:System.Int32" /> arguments as the
69    array has dimensions and returns the address of the element at the given index.
70    It throws a <see cref="T:System.IndexOutOfRangeException" />
71    exception for invalid indices. </para>
72           </term>
73         </item>
74       </list>
75       <para>In addition, every specific <see cref="T:System.Array" /> type has a constructor on it that takes as many non-negative 
76 <see cref="T:System.Int32" /> 
77 arguments as the array has dimensions. The arguments specify the
78 number of elements in each dimension, and a lower bound of 0. Thus, a
79 two-dimensional array of <see cref="T:System.Int32" /> objects would have a constructor that could be called with
80 <c>(2, 4)</c> as its arguments to create an array of eight zeros with the first dimension indexed
81 with 0 and 1 and the second dimension indexed with 0, 1, 2, and 3. </para>
82       <para>For all specific array types except vectors (i.e. those
83    permitted to have non-zero lower bounds and those with more than one dimension)
84    there is an additional constructor. It takes twice as many arguments as the
85    array has dimensions. The arguments are considered in pairs, with the first of
86    the pair specifying the lower bound for that dimension and the second specifying
87    the total number of elements in that dimension. Thus, a two-dimensional array
88    of <see cref="T:System.Int32" />
89    
90    objects would also have a constructor that could be called with <c>(-1, 2, 1, 3)</c> as its arguments,
91 specifying an array of 6 zeros, with the first dimension indexed by -1 and 0,
92 and the second dimension indexed by 1, 2, and 3. </para>
93       <para>Enumeration over an array occurs in ascending row-major order, starting from the first element. (For example, a 2x3 array is traversed in the order [0,0], [0,1], [0,2], [1,0], [1,1], and [1,2].)</para>
94       <para>Parallel implementation of methods taking a <see cref="T:System.Predicate" /> argument are not permitted.</para>
95     </remarks>
96   </Docs>
97   <Members>
98     <Member MemberName=".ctor">
99       <MemberSignature Language="C#" Value="public Array ();" />
100       <MemberSignature Language="ILAsm" Value="private rtspecialname specialname instance void .ctor()" />
101       <MemberType>Constructor</MemberType>
102       <AssemblyInfo>
103         <AssemblyVersion>0.0.0.0</AssemblyVersion>
104       </AssemblyInfo>
105       <Parameters />
106       <Docs>
107         <summary>Constructs a new instance of the <see cref="T:System.Array" /> class.</summary>
108         <remarks>To be added.</remarks>
109       </Docs>
110     </Member>
111     <Member MemberName="AsReadOnly&lt;T&gt;">
112       <MemberSignature Language="C#" Value="public static System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt; AsReadOnly&lt;T&gt; (T[] array);" />
113       <MemberType>Method</MemberType>
114       <AssemblyInfo>
115         <AssemblyVersion>0.0.0.0</AssemblyVersion>
116       </AssemblyInfo>
117       <ReturnValue>
118         <ReturnType>System.Collections.ObjectModel.ReadOnlyCollection&lt;T&gt;</ReturnType>
119       </ReturnValue>
120       <TypeParameters>
121         <TypeParameter Name="T" />
122       </TypeParameters>
123       <Parameters>
124         <Parameter Name="array" Type="T[]" />
125       </Parameters>
126       <Docs>
127         <typeparam name="T">To be added.</typeparam>
128         <param name="array">To be added.</param>
129         <summary>To be added.</summary>
130         <returns>To be added.</returns>
131         <remarks>To be added.</remarks>
132         <exception cref="T:System.NotImplementedException">To be added; from: <see cref="M:System.Array.AsReadOnly``1(``0[])" /></exception>
133       </Docs>
134     </Member>
135     <Member MemberName="ConvertAll&lt;T,U&gt;">
136       <MemberSignature Language="C#" Value="public static TOutput[] ConvertAll&lt;TInput,TOutput&gt; (TInput[] array, Converter&lt;TInput,TOutput&gt; converter);" />
137       <MemberSignature Language="ILAsm" Value=".method public hidebysig static !!1[] ConvertAll&lt;T,U&gt;(!!0[] array, class System.Converter`1&lt;!!0,!!1&gt; converter)" />
138       <MemberType>Method</MemberType>
139       <AssemblyInfo>
140         <AssemblyVersion>0.0.0.0</AssemblyVersion>
141       </AssemblyInfo>
142       <ReturnValue>
143         <ReturnType>TOutput[]</ReturnType>
144       </ReturnValue>
145       <TypeParameters>
146         <TypeParameter Name="TInput" />
147         <TypeParameter Name="TOutput" />
148       </TypeParameters>
149       <Parameters>
150         <Parameter Name="array" Type="TInput[]" />
151         <Parameter Name="converter" Type="System.Converter&lt;TInput,TOutput&gt;" />
152       </Parameters>
153       <Docs>
154         <typeparam name="TInput">To be added.</typeparam>
155         <typeparam name="TOutput">To be added.</typeparam>
156         <param name="array">The one-dimensional array to convert.</param>
157         <param name="converter">
158           <para>A <see cref="T:System.Converter&lt;T,U&gt;" /> that converts each element from one type to another type.</para>
159         </param>
160         <summary>
161           <para>Converts an array of one type to an array of another type.</para>
162         </summary>
163         <returns>
164           <para>A new array of the target type containing the converted elements from <paramref name="array" />.</para>
165         </returns>
166         <remarks>
167           <para>The <see cref="T:System.Converter&lt;T,U&gt;" /> is a delegate that converts an array element to the target type.  The elements of  <paramref name="array" /> are individually passed to this converter, and the converted elements are saved in the new array. The source array remains unchanged.</para>
168         </remarks>
169         <exception cref="T:System.InvalidOperationException">To be added; from: <see cref="M:System.Array.ConvertAll``2(``0[],System.Converter{``0,``1})" /></exception>
170         <exception cref="T:System.ArgumentNullException">
171           <paramref name="array" /> is <see langword="null" /> or <paramref name="converter" /> is <see langword="null" />.</exception>
172       </Docs>
173     </Member>
174     <Member MemberName="Resize&lt;T&gt;">
175       <MemberSignature Language="C#" Value="public static void Resize&lt;T&gt; (ref T[] array, int newSize);" />
176       <MemberType>Method</MemberType>
177       <AssemblyInfo>
178         <AssemblyVersion>0.0.0.0</AssemblyVersion>
179       </AssemblyInfo>
180       <ReturnValue>
181         <ReturnType>System.Void</ReturnType>
182       </ReturnValue>
183       <TypeParameters>
184         <TypeParameter Name="T" />
185       </TypeParameters>
186       <Parameters>
187         <Parameter Name="array" Type="T[]&amp;" RefType="ref" />
188         <Parameter Name="newSize" Type="System.Int32" />
189       </Parameters>
190       <Docs>
191         <typeparam name="T">To be added.</typeparam>
192         <param name="array">To be added.</param>
193         <param name="newSize">To be added.</param>
194         <summary>To be added.</summary>
195         <remarks>To be added.</remarks>
196         <exception cref="T:System.Exception">To be added; from: <see cref="M:System.Array.Resize``1(``0[]@,System.Int32)" /></exception>
197       </Docs>
198     </Member>
199   </Members>
200 </Type>