<Type Name="String" FullName="System.String" FullNameSP="System_String" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public sealed serializable String extends System.Object implements System.ICloneable, System.IComparable, System.Collections.IEnumerable" />
  <TypeSignature Language="C#" Value="public sealed class String : ICloneable, IComparable, IComparable&lt;string&gt;, IConvertible, IEquatable&lt;string&gt;, System.Collections.Generic.IEnumerable&lt;char&gt;" />
  <MemberOfLibrary>BCL</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Collections.Generic.IEnumerable&lt;System.Char&gt;</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.ICloneable</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IComparable</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IComparable&lt;System.String&gt;</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IConvertible</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IEquatable&lt;System.String&gt;</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes>
    <Attribute>
      <AttributeName>System.Reflection.DefaultMember("Chars")</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <summary>
      <para>Represents an immutable series of characters.</para>
    </summary>
    <remarks>
      <para>An <paramref name="index" /> is the position of a character within a
   string. The first character in the string is at index 0. The length of a string
   is the number of characters it is made up of. The last accessible <paramref name="index" />
   of a string
   instance is <see cref="P:System.String.Length" />
   - 1.</para>
      <para>Strings are immutable; once created, the contents of a
<see cref="T:System.String" /> do not change. Combining 
   operations, such as <see cref="M:System.String.Replace(System.Char,System.Char)" />, cannot alter existing strings.
   Instead, such operations return a new string that contains the results of the
   operation, an unchanged string, or the null value. To perform modifications to a
<see cref="T:System.String" /> use the 
<see cref="T:System.Text.StringBuilder" /> 
.</para>
      <para>Implementations of <see cref="T:System.String" /> are required to contain
a variable-length character buffer positioned a fixed number of bytes after
the beginning of the String object. <block subset="none" type="note"> The <see cref="P:System.Runtime.CompilerServices.RuntimeHelpers.OffsetToStringData" />
method returns
the number of bytes between the start of the String object and the character buffer. This
information is intended primarily for use by compilers, not application programmers. For additional information, see <see cref="P:System.Runtime.CompilerServices.RuntimeHelpers.OffsetToStringData" />
.</block></para>
      <block subset="none" type="note">
        <para>Comparisons and searches are case-sensitive by default,
      and unless otherwise specified, use the culture defined (if any) for the current thread
      to determine the order of the alphabet used by the strings. This information is
      then used to compare the two strings on a character-by-character basis. Upper
      case letters evaluate greater than their lowercase equivalents.</para>
        <para>The following characters are considered white space when present in a <see cref="T:System.String" /> instance: 0x9, 0xA, 0xB, 0xC, 0xD, 0x20, 0xA0, 0x2000, 0x2001,
      0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x200B,
      0x3000, and 0xFEFF. The null character is defined as hexadecimal 0x00.</para>
        <para>The <see cref="T:System.String" />(<see cref="T:System.String" />) constructor is
   omitted for performance reasons. If you need a copy of a <see cref="T:System.String" />, consider using
<see cref="M:System.String.Copy(System.String)" /> or 
   the <see cref="T:System.Text.StringBuilder" />
   class.</para>
        <para>To insert a formatted string representation of an object
   into a string, use the <see cref="M:System.String.Format(System.String,System.Object)" /> methods.
   These methods take one or more arguments to be formatted, and a format string.
   The format string contains literals and zero or more format
   specifications of the form { <paramref name="N" /> [, <paramref name="M" /> ][: <paramref name="formatSpecifier" />
   ]}, where:
   </para>
        <list type="bullet">
          <item>
            <term>
              <paramref name="N" /> is a zero-based integer 
      indicating the argument to be formatted. If the actual argument is a null
      reference, then an empty string is used in its place.</term>
          </item>
          <item>
            <term>
              <paramref name="M" /> is an optional integer
      indicating the minimum width of the region to contain the formatted value of
      argument <paramref name="N" />
      . If the length of
      the string representation of the value is less than <paramref name="M" />, then the
      region is padded with spaces. If <paramref name="M" /> is negative, the formatted value
      is left justified in the region; if <paramref name="M" /> is positive, then the value is right
      justified. If <paramref name="M" /> is
      not specified, it is assumed to be zero indicating that neither padding nor
      alignment is customized. Note that if the length of the formatted value is
      greater than <paramref name="M" />, then <paramref name="M" /> is ignored.</term>
          </item>
          <item>
            <term>
              <paramref name="formatSpecifier" /> is an
      optional string that determines the representation used for arguments.
      For example, an integer can be represented in hexadecimal or decimal format, or as a
      monetary value. If <paramref name="formatSpecifier" /> is
      omitted and an argument implements the <see cref="T:System.IFormattable" /> interface, then a null reference is
      used as the <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)" /> format specifier. Therefore, all implementations of
   <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)" /> are required to allow a null reference as
      a format specifier, and return a string containing the default representation
      of the object as determined by the object type. For additional information on
      format specifiers, see <see cref="T:System.IFormattable" />
      .</term>
          </item>
        </list>
        <para>If an object referenced in the format string implements
<see cref="T:System.IFormattable" />, 
   then the <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)" /> method of the object provides the formatting. If the
   argument does not implement <see cref="T:System.IFormattable" />, then the <see cref="M:System.Object.ToString" /> method of the object provides default
   formatting, and <paramref name="formatSpecifier" />
   , if present, is ignored.
   For an example that demonstrates this, see Example 2.</para>
        <para>To include a
   curly bracket in a formatted
   string, specify the bracket twice; for example, specify "{{" to
   include "{" in the formatted string. See Example 1.</para>
        <para>The <see cref="T:System.Console" /> class exposes the same functionality as the <see cref="M:System.String.Format(System.String,System.Object)" /> methods
via <see cref="M:System.Console.Write(System.String,System.Object)" /> and <see cref="M:System.Console.WriteLine" />. The primary difference is that the
<see cref="M:System.String.Format(System.String,System.Object)" /> 
methods return the formatted string, while the
System.Console methods write the formatted string to a stream.</para>
      </block>
      <para>When a non-empty string is searched for the first or last occurrence of an empty string, the empty string is found at the search start position.</para>
    </remarks>
    <example>
      <para>Example 1</para>
      <para>The following example demonstrates formatting numeric
      data types and inserting literal curly brackets into strings.</para>
      <code lang="C#">using System;
class StringFormatTest {
    public static void Main() {
        decimal dec = 1.99999m;
        double doub = 1.0000000001;

        string somenums = String.Format("Some formatted numbers: dec={0,15:E} doub={1,20}", dec, doub);
        Console.WriteLine(somenums);

        string curlies = "Literal curly brackets: {{ and }} and {{0}}";
        Console.WriteLine(curlies);

        object nullObject = null;
        string embeddedNull = String.Format("A null argument looks like: {0}", nullObject);
        Console.WriteLine(embeddedNull);
    }
}
   </code>
      <para>The output is</para>
      <code>
Some formatted numbers: dec=  1.999990E+000 doub=        1.0000000001
Literal curly brackets: {{ and }} and {{0}}
A null argument looks like: 
 </code>
      <para>Example 2</para>
      <para>The following example demonstrates how formatting works if <see cref="T:System.IFormattable" /> is or is
   not implemented by an argument to the <see cref="M:System.String.Format(System.String,System.Object)" /> method. Note that the format specifier
   is ignored if the argument does not implement <see cref="T:System.IFormattable" />.</para>
      <code lang="C#">using System;
class StringFormatTest {
    public class DefaultFormatEleven {
        public override string ToString() {
            return "11 string";
        }
    }
    public class FormattableEleven:IFormattable {
        // The IFormattable ToString implementation.
        public string ToString(string format, IFormatProvider formatProvider) {
            Console.Write("[IFormattable called] ");
            return 11.ToString(format, formatProvider);
        }
        // Override Object.ToString to show that it is not called.
        public override string ToString() {
            return "Formatted 11 string";
        }
    }

    public static void Main() {
        DefaultFormatEleven def11 = new DefaultFormatEleven ();
         FormattableEleven for11 = new  FormattableEleven();
        string def11string = String.Format("{0}",def11);
        Console.WriteLine(def11string);
        // The format specifier x is ignored.
        def11string = String.Format("{0,15:x}", def11);
        Console.WriteLine(def11string);

        string form11string = String.Format("{0}",for11);
        Console.WriteLine(form11string );
        form11string = String.Format("{0,15:x}",for11);
        Console.WriteLine(form11string);
    }
}
</code>
      <para>The output is</para>
      <code>
11 string
      11 string
[IFormattable called] 11
[IFormattable called]               b
 </code>
      <para>Example 3</para>
      <para>The following example demonstrates searching for an empty string in a non-empty string.</para>
      <code lang="C#">using System;
class EmptyStringSearch {
	public static void Main() 	{
		Console.WriteLine("ABCDEF".IndexOf(""));
		Console.WriteLine("ABCDEF".IndexOf("", 2));
		Console.WriteLine("ABCDEF".IndexOf("", 3, 2));
		Console.WriteLine("ABCDEF".LastIndexOf(""));
		Console.WriteLine("ABCDEF".LastIndexOf("", 1));
		Console.WriteLine("ABCDEF".LastIndexOf("", 4, 2));
	}
}</code>
      <para>The output is</para>
      <code>0
2
3
5
1
4</code>
    </example>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Char* value)" />
      <MemberSignature Language="C#" Value="public String (char* value);" />
      <MemberType>Constructor</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue />
      <Parameters>
        <Parameter Name="value" Type="System.Char*" />
      </Parameters>
      <Docs>
        <param name="value">A pointer to a null-terminated array of Unicode characters. If <paramref name="value" /> is a null pointer, <see cref="F:System.String.Empty" /> is created.</param>
        <summary>
          <para>Constructs and initializes a new instance of <see cref="T:System.String" /> using a specified pointer to a sequence of Unicode characters.</para>
        </summary>
        <remarks>
          <para>This member is not CLS-compliant. For a CLS-compliant alternative,
      use the <see cref="T:System.String" />(<see cref="T:System.Char" />[] ) constructor.</para>
          <para>This constructor copies the sequence of Unicode characters at the specified
      pointer until a null character (hexadecimal 0x00) is reached.</para>
          <para>If the specified array is not null-terminated, the
      behavior of this constructor is system dependent. For example, such a situation
      might cause
      an access violation.</para>
          <para>
            <block subset="none" type="note"> In C# this
      constructor is defined only in the context of unmanaged code.</block>
          </para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Char[] value)" />
      <MemberSignature Language="C#" Value="public String (char[] val);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.Char[]" />
      </Parameters>
      <Docs>
        <param name="val">An array of Unicode characters.</param>
        <summary>
          <para>Constructs and initializes a new instance of <see cref="T:System.String" />
by copying the specified array of Unicode characters.</para>
        </summary>
        <remarks>
          <para>If the specified array is a null reference or contains
      no elements, <see cref="F:System.String.Empty" /> is created.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public String (sbyte* value);" />
      <MemberType>Constructor</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <Parameters>
        <Parameter Name="value" Type="System.SByte*" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Char c, int32 count)" />
      <MemberSignature Language="C#" Value="public String (char c, int count);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="c" Type="System.Char" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="c">A <see cref="T:System.Char" /> . </param>
        <param name="count">A <see cref="T:System.Int32" /> containing the number of occurrences of <paramref name="c" />. </param>
        <param name="count">To be added.</param>
        <summary>
          <para>Constructs and initializes a new instance of <see cref="T:System.String" />
.</para>
        </summary>
        <remarks>
          <para>If the specified number is 0, <see cref="F:System.String.Empty" /> is
   created.</para>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="count" /> is less than zero.</exception>
        <example>
          <para>The following example demonstrates using this constructor.</para>
          <code lang="C#">using System;

public class StringExample {
 public static void Main() {
 
 string s = new String('a', 10);

 Console.WriteLine(s);            
 }
}
   </code>
          <para>The output is</para>
          <para>
            <c>aaaaaaaaaa</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Char* value, int32 startIndex, int32 length)" />
      <MemberSignature Language="C#" Value="public String (char* value, int startIndex, int length);" />
      <MemberType>Constructor</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue />
      <Parameters>
        <Parameter Name="value" Type="System.Char*" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">A pointer to an array of Unicode characters.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index within the array referenced by <paramref name="value" /> from which to start copying.</param>
        <param name="length">A <see cref="T:System.Int32" /> containing the number of characters to copy from <paramref name="value" /> to the new <see cref="T:System.String" />. If <paramref name="length" /> is zero, <see cref="F:System.String.Empty" /> is created.</param>
        <summary>
          <para>Constructs and initializes a new instance of <see cref="T:System.String" /> using a specified
   pointer to a sequence of Unicode characters, the index within that sequence at
   which to start copying characters, and the number of characters to be copied to
   construct the <see cref="T:System.String" />
   .</para>
        </summary>
        <remarks>
          <para>This member is not CLS-compliant. For a CLS-compliant alternative, use the 
   <see cref="T:System.String" />(<see cref="T:System.Char" />, <see cref="T:System.Int32" />, <see cref="T:System.Int32" />) constructor. </para>
          <para>This constructor copies Unicode characters from
   <paramref name="value" />, starting at <paramref name="startIndex" /> and ending at
      (<paramref name="startIndex" /> + <paramref name="length" /> - 1).</para>
          <para>If the specified range is outside of the memory
      allocated for the sequence of characters, the behavior of this constructor is
      system dependent. For example, such a situation might cause an access violation.</para>
          <para>
            <block subset="none" type="note"> In C# this
      constructor is defined only in the context of unmanaged code.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="length" /> is less than zero.</para>
          <para> -or-</para>
          <para>
            <paramref name="value" /> is a null pointer and <paramref name="length" /> is not zero.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Char[] value, int32 startIndex, int32 length)" />
      <MemberSignature Language="C#" Value="public String (char[] val, int startIndex, int length);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="val" Type="System.Char[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="val">To be added.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index within the array referenced by <paramref name="value" /> from which to start copying.</param>
        <param name="length">A <see cref="T:System.Int32" /> containing the number of characters to copy from the <paramref name="value" /> array. If <paramref name="length" /> is zero, <see cref="F:System.String.Empty" /> is created.</param>
        <param name="value">An array of Unicode characters.</param>
        <summary>
          <para>Constructs and initializes a new instance of <see cref="T:System.String" /> using an array of Unicode characters, the index within array at which to start
   copying characters, and the number of characters
   to be copied.</para>
        </summary>
        <remarks>
          <para>This constructor copies the sequence Unicode characters
      found at <paramref name="value" /> between indexes <paramref name="startIndex" /> and
   <paramref name="startIndex" /> + <paramref name="length" /> - 1.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="length" /> is less than zero.</para>
          <para> -or-</para>
          <para>The sum of <paramref name="startIndex" /> and <paramref name="length" /> is greater than the number of elements in <paramref name="value" /> .</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public String (sbyte* value, int startIndex, int length);" />
      <MemberType>Constructor</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <Parameters>
        <Parameter Name="value" Type="System.SByte*" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="startIndex">To be added.</param>
        <param name="length">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.SByte* value, int32 startIndex, int32 length, class System.Text.Encoding enc)" />
      <MemberSignature Language="C#" Value="public String (sbyte* value, int startIndex, int length, System.Text.Encoding enc);" />
      <MemberType>Constructor</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue />
      <Parameters>
        <Parameter Name="value" Type="System.SByte*" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
        <Parameter Name="enc" Type="System.Text.Encoding" />
      </Parameters>
      <Docs>
        <param name="value">A pointer to a <see cref="T:System.SByte" /> array.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the starting position within <paramref name="value" />.</param>
        <param name="length">A <see cref="T:System.Int32" /> containing the number of characters within <paramref name="value" /> to use. If <paramref name="length" /> is zero, <see cref="F:System.String.Empty" /> is created.</param>
        <param name="enc">A <see cref="T:System.Text.Encoding" /> object that specifies how the array referenced by <paramref name="value" /> is encoded.</param>
        <param name="enc">To be added.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see langword="String" /> class to the value indicated by a specified pointer to an array of
   8-bit signed integers, a starting character position within that array, a
   length, and an <see langword="Encoding" />
   object.</para>
        </summary>
        <remarks>
          <para>If <paramref name="value" /> is a
<see langword="null" /> pointer, a <see cref="F:System.String.Empty" /> instance is constructed.</para>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="length" /> is less than zero.</para>
          <para>-or-</para>
          <para>
            <paramref name="value" /> is a null pointer and <paramref name="length" /> is not zero.</para>
        </exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
    </Member>
    <Member MemberName="Chars">
      <MemberSignature Language="ILASM" Value=".property valuetype System.Char Chars[int32 index] { public hidebysig specialname instance valuetype System.Char get_Chars(int32 index) }" />
      <MemberSignature Language="C#" Value="public char this[int index] { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Char</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="index" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="index">To be added.</param>
        <summary>
          <para> Gets the character at a specified position in the current
      instance.</para>
        </summary>
        <value>
          <para>A Unicode character at the location index in the current instance.</para>
        </value>
        <remarks>
          <para>This property is read-only.</para>
          <para>
            <paramref name="index" /> is the position of a character within a
   string. The first character in the string is at index 0. The length of a string
   is the number of characters it is made up of. The last accessible <paramref name="index" />
   of a string instance is its length
   - 1.</para>
        </remarks>
        <exception cref="T:System.IndexOutOfRangeException">
          <paramref name="index" /> is greater than or equal to the length of the current instance or less than zero.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Clone">
      <MemberSignature Language="ILASM" Value=".method public final hidebysig virtual object Clone()" />
      <MemberSignature Language="C#" Value="public object Clone ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Returns a reference to the current instance of <see cref="T:System.String" />.</para>
        </summary>
        <returns>
          <para>A reference to the current instance of <see cref="T:System.String" />.</para>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>
              <see cref="M:System.String.Clone" /> does not generate a new <see cref="T:System.String" /> instance. Use the <see cref="M:System.String.Copy(System.String)" /> or <see cref="M:System.String.CopyTo(System.Int32,System.Char[],System.Int32,System.Int32)" /> method to
      create a separate <see cref="T:System.String" /> object with the same
      value as the current instance.</para>
            <para>This method is implemented to support the <see cref="T:System.ICloneable" /> interface.</para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(string strA, string strB)" />
      <MemberSignature Language="C#" Value="public static int Compare (string strA, string strB);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="strB" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="strA">The first <see cref="T:System.String" /> to compare. Can be a null reference.</param>
        <param name="strB">The second <see cref="T:System.String" /> to compare. Can be a null reference.</param>
        <summary>
          <para>Compares two <see cref="T:System.String" /> objects in a case-sensitive manner.</para>
        </summary>
        <returns>
          <para>The return value is a negative number, zero, or a positive number reflecting the sort order of the specified strings. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:</para>
          <list type="table">
            <listheader>
              <term> Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term> A negative number</term>
              <description>
                <paramref name="strA" /> is lexicographically &lt; <paramref name="strB" />.</description>
            </item>
            <item>
              <term> Zero</term>
              <description>
                <paramref name="strA" /> is lexicographically == <paramref name="strB" />.</description>
            </item>
            <item>
              <term> A positive number</term>
              <description>
                <paramref name="strA" /> is lexicographically &gt; <paramref name="strB" />.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <para> This method performs a case-sensitive operation.</para>
          <block subset="none" type="note">
            <para>The result of comparing any <see cref="T:System.String" /> (including the empty string) to a null
      reference is greater than zero. The
      result of comparing two null references is zero. Uppercase letters evaluate
      greater than their lowercase equivalents.</para>
            <para>The method uses the culture (if any) of the
      current thread to determine the ordering of individual characters. The two strings
      are compared on a character-by-character basis.</para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(string strA, string strB, bool ignoreCase)" />
      <MemberSignature Language="C#" Value="public static int Compare (string strA, string strB, bool ignoreCase);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="strB" Type="System.String" />
        <Parameter Name="ignoreCase" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="strA">The first <see cref="T:System.String" /> to compare. Can be a null reference.</param>
        <param name="strB">The second <see cref="T:System.String" /> to compare. Can be a null reference.</param>
        <param name="ignoreCase">A <see cref="T:System.Boolean" /> indicating whether the comparison is case-insensitive. If <paramref name="ignoreCase" /> is <see langword="true" />, the comparison is case-insensitive. If <paramref name="ignoreCase" /> is <see langword="false" />, the comparison is case-sensitive, and uppercase letters evaluate greater than their lowercase equivalents.</param>
        <summary>
          <para> Returns sort order of two <see cref="T:System.String" />
objects, ignoring or honoring their case.</para>
        </summary>
        <returns>
          <para>The return value is a negative number, zero, or a positive number reflecting the sort order of the specified substrings. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:</para>
          <list type="table">
            <listheader>
              <term> Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term> A negative number</term>
              <description>
                <paramref name="strA" /> is &lt; <paramref name="strB" />.</description>
            </item>
            <item>
              <term> Zero</term>
              <description>
                <paramref name="strA" /> == <paramref name="strB" />.</description>
            </item>
            <item>
              <term> A positive number</term>
              <description>
                <paramref name="strA" /> is &gt; <paramref name="strB" />.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>The result of comparing any <see cref="T:System.String" /> (including the empty string) to a null
      reference is greater than zero. The
      result of comparing two null references is zero. Uppercase letters evaluate
      greater than their lowercase
      equivalents.</para>
            <para>The method uses the culture (if any) of the
      current thread to determine the ordering of individual characters. The two strings
      are compared on a character-by-character
      basis.</para>
            <para>
              <see langword="String.Compare" />(<paramref name="strA" />,
<paramref name="strB" />, 
<see langword="false" />) is equivalent to 
<see langword="String.Compare" />(<paramref name="strA" />, <paramref name="strB" /> 
).</para>
          </block>
        </remarks>
        <example>
          <para>The following example demonstrates comparing strings with and without case 
      sensitivity.</para>
          <code lang="C#">using System;
public class StringCompareExample {
 public static void Main() {
 string strA = "A STRING";
 string strB = "a string";
 int first = String.Compare( strA, strB, true );
 int second = String.Compare( strA, strB, false );
 Console.WriteLine( "When 'A STRING' is compared to 'a string' in a case-insensitive manner, the return value is {0}.", first );
 Console.WriteLine( "When 'A STRING' is compared to 'a string' in a case-sensitive manner, the return value is {0}.", second );
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>When 'A STRING' is compared to 'a string' in a case-insensitive manner, the
         return value is 0.</para>
            <para>When 'A STRING' is compared to 'a string' in a case-sensitive manner, the
         return value is 1.</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="C#" Value="public static int Compare (string strA, string strB, StringComparison comparisonType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="strB" Type="System.String" />
        <Parameter Name="comparisonType" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="strA">To be added.</param>
        <param name="strB">To be added.</param>
        <param name="comparisonType">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="C#" Value="public static int Compare (string strA, string strB, bool ignoreCase, System.Globalization.CultureInfo culture);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="strB" Type="System.String" />
        <Parameter Name="ignoreCase" Type="System.Boolean" />
        <Parameter Name="culture" Type="System.Globalization.CultureInfo" />
      </Parameters>
      <Docs>
        <param name="strA">To be added.</param>
        <param name="strB">To be added.</param>
        <param name="ignoreCase">To be added.</param>
        <param name="culture">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(string strA, int32 indexA, string strB, int32 indexB, int32 length)" />
      <MemberSignature Language="C#" Value="public static int Compare (string strA, int indexA, string strB, int indexB, int length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="indexA" Type="System.Int32" />
        <Parameter Name="strB" Type="System.String" />
        <Parameter Name="indexB" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="strA">The first <see cref="T:System.String" /> to compare. Can be a null reference.</param>
        <param name="indexA">A <see cref="T:System.Int32" /> containing the starting index of the substring within <paramref name="strA" />.</param>
        <param name="strB">The second <see cref="T:System.String" /> to compare. Can be a null reference.</param>
        <param name="indexB">A <see cref="T:System.Int32" /> containing the starting index of the substring within <paramref name="strB" />.</param>
        <param name="length">A <see cref="T:System.Int32" /> containing the maximum number of characters in the substrings to compare. If <paramref name="length" /> is zero, then zero is returned.</param>
        <summary>
          <para>Compares substrings of two
      strings.</para>
        </summary>
        <returns>
          <para>The return value is a negative number, zero, or a positive number reflecting the sort order of the specified substrings. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:</para>
          <list type="table">
            <listheader>
              <term> Value</term>
              <description>Meaning</description>
            </listheader>
            <item>
              <term> A negative number</term>
              <description>The substring in <paramref name="strA" /> is &lt; the substring
      in <paramref name="strB" />.</description>
            </item>
            <item>
              <term> Zero</term>
              <description>The substring in <paramref name="strA" /> == 
   the substring in
<paramref name="strB" />, or <paramref name="length" /> is zero.</description>
            </item>
            <item>
              <term> A positive number</term>
              <description>The substring in <paramref name="strA" /> is &gt; the substring
   in <paramref name="strB" />.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>The result of comparing any <see cref="T:System.String" /> (including the empty string) to a null
      reference is greater than zero. The result of comparing two null references is
      zero. Uppercase letters evaluate greater than their lowercase
      equivalents.</para>
            <para>The method uses the culture (if any) of the current thread to
      determine the ordering of individual characters. The two strings are compared on a character-by-character
      basis.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>The sum of <paramref name="indexA" /> and <paramref name="length" /> is greater than <paramref name="strA" /> .Length .</para>
          <para> -or-</para>
          <para>The sum of <paramref name="indexB" /> and <paramref name="length" /> is greater than <paramref name="strB" /> .Length .</para>
          <para> -or-</para>
          <para>
            <paramref name="indexA" />, <paramref name="indexB" />, or <paramref name="length" /> is negative.</para>
        </exception>
        <example>
          <para>The following example demonstrates comparing substrings.</para>
          <code lang="C#">using System;
public class StringCompareExample {
 public static void Main() {
 string strA = "A string";
 string strB = "B ring";
 int first = String.Compare( strA, 4, strB, 2, 3 );
 int second = String.Compare( strA, 3, strB, 3, 3 );
 Console.WriteLine( "When the substring 'rin' of 'A string' is compared to the substring 'rin' of 'B ring', the return value is {0}.", first );
 Console.WriteLine( "When the substring 'tri' of 'A string' is compared to the substring 'ing' of 'B ring', the return value is {0}.", second );
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>When the substring 'rin' of 'A string' is compared to the substring 'rin' of
         'B ring', the return value is 0.</para>
            <para>When the substring 'tri' of 'A string' is compared to the substring 'ing' of
         'B ring', the return value is 1.</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(string strA, int32 indexA, string strB, int32 indexB, int32 length, bool ignoreCase)" />
      <MemberSignature Language="C#" Value="public static int Compare (string strA, int indexA, string strB, int indexB, int length, bool ignoreCase);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="indexA" Type="System.Int32" />
        <Parameter Name="strB" Type="System.String" />
        <Parameter Name="indexB" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
        <Parameter Name="ignoreCase" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="strA">The first <see cref="T:System.String" /> containing a substring to compare. Can be a null reference.</param>
        <param name="indexA">A <see cref="T:System.Int32" /> containing the starting index of the substring within <paramref name="strA" />.</param>
        <param name="strB">The second <see cref="T:System.String" /> containing a substring to compare. Can be a null reference.</param>
        <param name="indexB">A <see cref="T:System.Int32" /> containing the starting index of the substring within <paramref name="strB" />.</param>
        <param name="length">A <see cref="T:System.Int32" /> containing the maximum number of characters in the substrings to compare. If <paramref name="length" /> is zero, then zero is returned.</param>
        <param name="ignoreCase">A <see cref="T:System.Boolean" /> indicating if the comparison is case-insensitive. If <paramref name="ignoreCase" /> is <see langword="true" />, the comparison is case-insensitive. If <paramref name="ignoreCase" /> is <see langword="false" />, the comparison is case-sensitive, and upper case letters evaluate greater than their lower case equivalents. </param>
        <param name="ignoreCase">To be added.</param>
        <summary>
          <para> Compares substrings of two strings, ignoring or honoring their case.</para>
        </summary>
        <returns>
          <para>The return value is a negative number, zero, or a positive number reflecting the sort order of the specified substrings. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:</para>
          <list type="table">
            <listheader>
              <term>Value Type</term>
              <description>Condition</description>
            </listheader>
            <item>
              <term> A negative number</term>
              <description>The substring in <paramref name="strA" /> is &lt; the substring
      in <paramref name="strB" />.</description>
            </item>
            <item>
              <term> Zero</term>
              <description>The substring in <paramref name="strA" /> == 
   the substring in
<paramref name="strB" />, or <paramref name="length" /> is zero.</description>
            </item>
            <item>
              <term> A positive number</term>
              <description>The substring in <paramref name="strA" /> is &gt; the substring
   in <paramref name="strB" />.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>The result of comparing any <see cref="T:System.String" /> (including the
      empty string) to a null reference is greater than zero. The result of comparing
      two null references is zero. Uppercase letters evaluate greater than their
      lower
      case
      equivalents.</para>
            <para>The maximum number of characters compared is the lesser of the length of <paramref name="strA" /> less <paramref name="indexA" />, the length of <paramref name="strB" /> less <paramref name="indexB" />, and <paramref name="length" />.</para>
            <para>When a culture is available, the method uses the culture of the current thread to
      determine the ordering of individual characters. The two strings are compared on
      a character-by-character
      basis.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="indexA" /> is greater than <paramref name="strA" /> .Length</para>
          <para> -or-</para>
          <para>
            <paramref name="indexB" /> is greater than <paramref name="strB" /> .Length</para>
          <para> -or-</para>
          <para>
            <paramref name="indexA" />, <paramref name="indexB" />, or <paramref name="length" /> is negative.</para>
        </exception>
        <example>
          <para>The following example demonstrates comparing substrings with and without case 
      sensitivity.</para>
          <code lang="C#">using System;
public class StringCompareExample {
 public static void Main() {
 string strA = "STRING A";
 string strB = "string b";
 int first = String.Compare( strA, strB, true );
 int second = String.Compare( strA, 0, strB, 0, 4, true );
 int third = String.Compare( strA, 0, strB, 0, 4, false );
 Console.WriteLine( "When the string 'STRING A' is compared to the string 'string b' in a case-insensitive manner, the return value is {0}.", first );
 Console.WriteLine( "When the substring 'STRI' of 'STRING A' is compared to the substring 'stri' of 'string b' in a case-insensitive manner, the return value is {0}.", second );
 Console.WriteLine( "When the substring 'STRI' of 'STRING A' is compared to the substring 'stri' of 'string b' in a case-sensitive manner, the return value is {0}.", third );
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>When the string 'STRING A' is compared to the string 'string b' in a
         case-insensitive manner, the return value is -1.</para>
            <para>When the substring 'STRI' of 'STRING A' is compared to the substring 'stri'
         of 'string b' in a case-insensitive manner, the return value is 0.</para>
            <para>When the substring 'STRI' of 'STRING A' is compared to the substring 'stri'
         of 'string b' in a case-sensitive manner, the return value is 1.</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="C#" Value="public static int Compare (string strA, int indexA, string strB, int indexB, int length, StringComparison comparisonType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="indexA" Type="System.Int32" />
        <Parameter Name="strB" Type="System.String" />
        <Parameter Name="indexB" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
        <Parameter Name="comparisonType" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="strA">To be added.</param>
        <param name="indexA">To be added.</param>
        <param name="strB">To be added.</param>
        <param name="indexB">To be added.</param>
        <param name="length">To be added.</param>
        <param name="comparisonType">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Compare">
      <MemberSignature Language="C#" Value="public static int Compare (string strA, int indexA, string strB, int indexB, int length, bool ignoreCase, System.Globalization.CultureInfo culture);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="indexA" Type="System.Int32" />
        <Parameter Name="strB" Type="System.String" />
        <Parameter Name="indexB" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
        <Parameter Name="ignoreCase" Type="System.Boolean" />
        <Parameter Name="culture" Type="System.Globalization.CultureInfo" />
      </Parameters>
      <Docs>
        <param name="strA">To be added.</param>
        <param name="indexA">To be added.</param>
        <param name="strB">To be added.</param>
        <param name="indexB">To be added.</param>
        <param name="length">To be added.</param>
        <param name="ignoreCase">To be added.</param>
        <param name="culture">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CompareOrdinal">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static int32 CompareOrdinal(string strA, string strB)" />
      <MemberSignature Language="C#" Value="public static int CompareOrdinal (string strA, string strB);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="strB" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="strA">The first <see cref="T:System.String" /> to compare.</param>
        <param name="strB">The second <see cref="T:System.String" /> to compare.</param>
        <summary>
          <para>Compares two specified <see cref="T:System.String" /> objects based
   on the code points of
   the contained Unicode characters.</para>
        </summary>
        <returns>
          <para>The return value is a negative number, zero, or a positive number reflecting the sort order of the specified strings. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:</para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> A negative number</term>
              <description>
                <paramref name="strA" /> is &lt; <paramref name="strB" />, or <paramref name="strA" />
   is a null reference.</description>
            </item>
            <item>
              <term> Zero</term>
              <description>
                <paramref name="strA" /> == <paramref name="strB" />, or both <paramref name="strA" />
and <paramref name="strB" /> are null references.</description>
            </item>
            <item>
              <term> A positive number</term>
              <description>
                <paramref name="strA" /> is &gt; <paramref name="strB" />, or <paramref name="strB" />
is a null reference.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>The result of comparing any <see cref="T:System.String" /> (including the
      empty string) to a null reference is greater than zero. The result of comparing
      two null references is zero. Uppercase letters evaluate greater than
      their lowercase equivalents.</para>
            <para>The method uses the culture (if any) of the current thread to
      determine the ordering of individual characters. The two strings are compared
      on a character-by-character basis.</para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CompareOrdinal">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static int32 CompareOrdinal(string strA, int32 indexA, string strB, int32 indexB, int32 length)" />
      <MemberSignature Language="C#" Value="public static int CompareOrdinal (string strA, int indexA, string strB, int indexB, int length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strA" Type="System.String" />
        <Parameter Name="indexA" Type="System.Int32" />
        <Parameter Name="strB" Type="System.String" />
        <Parameter Name="indexB" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="strA">The first <see cref="T:System.String" /> to compare.</param>
        <param name="indexA">A <see cref="T:System.Int32" /> containing the starting index of the substring in <paramref name="strA" />.</param>
        <param name="strB">The second <see cref="T:System.String" /> to compare.</param>
        <param name="indexB">A <see cref="T:System.Int32" /> containing the starting index of the substring in <paramref name="strB" />.</param>
        <param name="length">A <see cref="T:System.Int32" /> containing the number of characters in the substrings to compare.</param>
        <summary>
          <para> Compares substrings of two specified <see cref="T:System.String" />
objects based
on
the code points of the contained Unicode characters.</para>
        </summary>
        <returns>
          <para>The return value is a negative number, zero, or a positive number reflecting the sort order of the specified strings. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:</para>
          <list type="table">
            <listheader>
              <term>Value Type</term>
              <description>Condition</description>
            </listheader>
            <item>
              <term> A negative number</term>
              <description>The substring in <paramref name="strA" /> is &lt; the
      substring in <paramref name="strB" />, or <paramref name="strA" /> is a null reference.</description>
            </item>
            <item>
              <term> Zero</term>
              <description>The substring in <paramref name="strA" /> ==
   the substring in
<paramref name="strB" />, or both <paramref name="strA" /> and <paramref name="strB" /> are null 
   references.</description>
            </item>
            <item>
              <term> A positive number</term>
              <description>The substring in <paramref name="strA" /> is &gt; the substring
   in <paramref name="strB" />, or <paramref name="strB" /> is a null
   reference.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <para>When either of the String arguments is the null reference an <see cref="T:System.ArgumentOutOfRangeException" /> shall be thrown if the corresponding index is non-zero.</para>
          <block subset="none" type="note">
            <para>The maximum number of characters compared is the lesser of the length of <paramref name="strA" /> less <paramref name="indexA" />, the length of <paramref name="strB" /> less <paramref name="indexB" />, and <paramref name="length" />.</para>
            <para>The result of comparing any <see cref="T:System.String" /> (including the empty string) to a null reference is
      greater than zero. The result of comparing two null references is zero. Upper
      case letters evaluate greater than their lowercase equivalents.</para>
            <para>The method uses the culture (if any) of the current thread to determine the ordering
      of individual characters. The two strings are compared on a
      character-by-character basis.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="indexA" /> is greater than <paramref name="strA" /> .Length</para>
          <para> -or-</para>
          <para>
            <paramref name="indexB" /> is greater than <paramref name="strB" /> .Length</para>
          <para> -or-</para>
          <para>
            <paramref name="indexA" />, <paramref name="indexB" />, or <paramref name="length" />is negative.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CompareTo">
      <MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)" />
      <MemberSignature Language="C#" Value="public int CompareTo (object value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="value">The <see cref="T:System.Object" /> to compare to the current instance.</param>
        <summary>
          <para>Returns the sort order of the current instance compared 
      to the specified object.</para>
        </summary>
        <returns>
          <para>The return value is a negative number, zero, or a positive number reflecting the sort order of the current instance as compared to <paramref name="value" />. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:</para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Condition</description>
            </listheader>
            <item>
              <term> A negative number</term>
              <description>The current instance is lexicographically &lt;
      <paramref name="value" />.</description>
            </item>
            <item>
              <term> Zero</term>
              <description>The current instance is lexicographically ==
      <paramref name="value" />.</description>
            </item>
            <item>
              <term>
                <para> A positive number</para>
              </term>
              <description>
                <para>The current instance is lexicographically &gt;
            <paramref name="value" />, or <paramref name="value" /> is a null
               reference.</para>
              </description>
            </item>
          </list>
        </returns>
        <remarks>
          <para>
            <paramref name="value" /> is required to be a <see cref="T:System.String" />
object.</para>
          <block subset="none" type="note">
            <para>The result of comparing any <see cref="T:System.String" /> (including the
   empty string) to a null reference is greater than zero.  Uppercase letters evaluate greater than their
   lowercase equivalents.</para>
            <para>The method uses the culture (if any) of the current thread to
   determine the ordering of individual characters. The two strings are compared on
   a character-by-character
   basis.</para>
            <para> This method is implemented to support the <see cref="T:System.IComparable" /> interface.</para>
          </block>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="value" /> is not a <see cref="T:System.String" />.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CompareTo">
      <MemberSignature Language="C#" Value="public int CompareTo (string strB);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="strB" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="strB">The <see cref="T:System.String" /> to compare to the current instance.</param>
        <summary>
          <para>Returns the sort order of the current instance compared to the specified string.</para>
        </summary>
        <returns>
          <para>The return value is a negative number, zero, or a positive number reflecting the sort order of the current instance as compared to <paramref name="strB" />. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:</para>
          <list type="table">
            <listheader>
              <term>Value</term>
              <description>Condition</description>
            </listheader>
            <item>
              <term> A negative number</term>
              <description>The current instance is lexicographically &lt;
      <paramref name="strB" />.</description>
            </item>
            <item>
              <term> Zero</term>
              <description>The current instance is lexicographically ==
      <paramref name="strB" />.</description>
            </item>
            <item>
              <term>
                <para> A positive number</para>
              </term>
              <description>The current instance is lexicographically &gt;
            <paramref name="strB" />, or <paramref name="strB" /> is a null reference.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>Uppercase letters evaluate greater than their lowercase equivalents.</para>
            <para>The method uses the culture (if any) of the current thread to
   determine the ordering of individual characters. The two strings are compared on
   a character-by-character
   basis.</para>
            <para> This method is implemented to support the <see cref="T:System.IComparable&lt;System.String&gt;" /> interface.</para>
          </block>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="C#" Value="public static string Concat (object obj);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="obj">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(class System.Object[] args)" />
      <MemberSignature Language="C#" Value="public static string Concat (object[] args);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="args" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="args">An array of <see cref="T:System.Object" /> instances to concatenate.</param>
        <summary>
          <para>Concatenates the <see cref="T:System.String" /> representations of the elements in an
   array of <see cref="T:System.Object" />
   instances.</para>
        </summary>
        <returns>
          <para>The concatenated <see cref="T:System.String" /> representations of the values of the
   elements in <paramref name="args" />.</para>
        </returns>
        <remarks>
          <para> This method concatenates the values returned by
      the <see cref="M:System.String.ToString" /> methods on every
      object in the <paramref name="args" /> array. <see cref="F:System.String.Empty" /> is
      used in place of any null reference in the array.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="args" /> is a null reference.</exception>
        <example>
          <para>The following example demonstrates concatenating an array of objects.</para>
          <code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( 'c', 32, "String" );
 Console.WriteLine( "The concatenated Object array is: {0}", str );
 }
}
   </code>
          <para>The output is</para>
          <para>
            <c>The
      concatenated Object array is: c32String</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(class System.String[] values)" />
      <MemberSignature Language="C#" Value="public static string Concat (string[] values);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="values" Type="System.String[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="values">An array of <see cref="T:System.String" /> instances to concatenate.</param>
        <summary>
          <para>Concatenates the elements of a specified array.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.String" /> containing the concatenated elements of <paramref name="values" />.</para>
        </returns>
        <remarks>
          <para>
            <see cref="F:System.String.Empty" /> is used in place of any null reference in the array.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="values" /> is a null reference.</exception>
        <example>
          <para>The following example demonstrates concatenating an array of strings.</para>
          <code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( "one", "two", "three", "four", "five" );
 Console.WriteLine( "The concatenated String array is: {0}", str );
 }
}
   </code>
          <para>The output is</para>
          <para>
            <c>The
      concatenated String array is: onetwothreefourfive</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(object arg0, object arg1)" />
      <MemberSignature Language="C#" Value="public static string Concat (object obj1, object obj2);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj1" Type="System.Object" />
        <Parameter Name="obj2" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="arg0">The first <see cref="T:System.Object" /> to concatenate.</param>
        <param name="arg1">The second <see cref="T:System.Object" /> to concatenate.</param>
        <param name="obj1">To be added.</param>
        <param name="obj2">To be added.</param>
        <summary>
          <para> Concatenates the <see cref="T:System.String" /> representations of two specified objects.</para>
        </summary>
        <returns>
          <para>The concatenated <see cref="T:System.String" /> representation of the values of
<paramref name="arg0" /> and <paramref name="arg1" />.</para>
        </returns>
        <remarks>
          <para>
            <see cref="F:System.String.Empty" /> is used in place of any null argument.</para>
          <para>This version of <see cref="M:System.String.Concat(System.Object)" /> is equivalent to <see cref="M:System.String.Concat(System.Object)" />( <paramref name="arg0" />.ToString(),
<paramref name="arg1" />.ToString () ).</para>
          <para>
            <block subset="none" type="note"> If either of the
   arguments is an array reference, the method concatenates a string representing
   that array, instead of its members (for example, <see cref="T:System.String" /> )[].</block>
          </para>
        </remarks>
        <example>
          <para>The following example demonstrates concatenating two objects.</para>
          <code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( 'c', 32 );
 Console.WriteLine( "The concatenated Objects are: {0}", str );
 }
}
   </code>
          <para>The output is</para>
          <para>
            <c>The
      concatenated Objects are: c32</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(string str0, string str1)" />
      <MemberSignature Language="C#" Value="public static string Concat (string s1, string s2);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="s1" Type="System.String" />
        <Parameter Name="s2" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="str0">The first <see cref="T:System.String" /> to concatenate.</param>
        <param name="str1">The second <see cref="T:System.String" /> to concatenate.</param>
        <param name="s1">To be added.</param>
        <param name="s2">To be added.</param>
        <summary>
          <para>Concatenates two specified instances of <see cref="T:System.String" />.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing the concatenation of <paramref name="str0" /> and
<paramref name="str1" />.</para>
        </returns>
        <remarks>
          <para>
            <see cref="F:System.String.Empty" /> is used in place of any null argument.</para>
        </remarks>
        <example>
          <para>The following example demonstrates concatenating two strings.</para>
          <code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( "one", "two" );
 Console.WriteLine( "The concatenated strings are: {0}", str );
 }
}
   </code>
          <para>The output is</para>
          <para>
            <c>The
      concatenated strings are: onetwo</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(object arg0, object arg1, object arg2)" />
      <MemberSignature Language="C#" Value="public static string Concat (object obj1, object obj2, object obj3);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj1" Type="System.Object" />
        <Parameter Name="obj2" Type="System.Object" />
        <Parameter Name="obj3" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="arg0">The first <see cref="T:System.Object" /> to concatenate.</param>
        <param name="arg1">The second <see cref="T:System.Object" /> to concatenate.</param>
        <param name="arg2">The third <see cref="T:System.Object" /> to concatenate.</param>
        <param name="obj1">To be added.</param>
        <param name="obj2">To be added.</param>
        <param name="obj3">To be added.</param>
        <summary>
          <para>Concatenates the <see cref="T:System.String" /> representations of three specified objects, in order provided.</para>
        </summary>
        <returns>
          <para>The concatenated <see cref="T:System.String" /> representations of the values of
<paramref name="arg0" />, <paramref name="arg1" />, and <paramref name="arg2" />.</para>
        </returns>
        <remarks>
          <para> This method concatenates the values returned by
      the <see cref="M:System.String.ToString" /> methods on every argument. <see cref="F:System.String.Empty" /> is used in place of any null argument.</para>
          <para>This version of <see cref="M:System.String.Concat(System.Object)" /> is equivalent to
<see langword="String.Concat" />( <paramref name="arg0" />.<see langword="ToString" />(), 
<paramref name="arg1" />.<see langword="ToString" />(), 
<paramref name="arg2" />.<see langword="ToString" /> () ).</para>
        </remarks>
        <example>
          <para>The following example demonstrates concatenating three objects.</para>
          <code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( 'c', 32, "String" );
 Console.WriteLine( "The concatenated Objects are: {0}", str );
 }
}
   </code>
          <para>The output is</para>
          <para>
            <c>The
      concatenated Objects are: c32String</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(string str0, string str1, string str2)" />
      <MemberSignature Language="C#" Value="public static string Concat (string s1, string s2, string s3);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="s1" Type="System.String" />
        <Parameter Name="s2" Type="System.String" />
        <Parameter Name="s3" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="str0">The first <see cref="T:System.String" /> to concatenate.</param>
        <param name="str1">The second <see cref="T:System.String" /> to concatenate.</param>
        <param name="str2">The third <see cref="T:System.String" /> to concatenate.</param>
        <param name="s1">To be added.</param>
        <param name="s2">To be added.</param>
        <param name="s3">To be added.</param>
        <summary>
          <para>Concatenates three specified instances of <see cref="T:System.String" />.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing the concatenation of <paramref name="str0" />, <paramref name="str1" />, and
<paramref name="str2" />.</para>
        </returns>
        <remarks>
          <para>
            <see cref="F:System.String.Empty" /> is used in place of any null argument.</para>
        </remarks>
        <example>
          <para>The following example demonstrates concatenating three strings.</para>
          <code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( "one", "two", "three" );
 Console.WriteLine( "The concatenated strings are: {0}", str );
 }
}
   </code>
          <para>The output is</para>
          <para>
            <c>The
      concatenated strings are: onetwothree</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="C#" Value="public static string Concat (object obj1, object obj2, object obj3, object obj4);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj1" Type="System.Object" />
        <Parameter Name="obj2" Type="System.Object" />
        <Parameter Name="obj3" Type="System.Object" />
        <Parameter Name="obj4" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="obj1">To be added.</param>
        <param name="obj2">To be added.</param>
        <param name="obj3">To be added.</param>
        <param name="obj4">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Concat">
      <MemberSignature Language="C#" Value="public static string Concat (string s1, string s2, string s3, string s4);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="s1" Type="System.String" />
        <Parameter Name="s2" Type="System.String" />
        <Parameter Name="s3" Type="System.String" />
        <Parameter Name="s4" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="s1">To be added.</param>
        <param name="s2">To be added.</param>
        <param name="s3">To be added.</param>
        <param name="s4">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Contains">
      <MemberSignature Language="C#" Value="public bool Contains (string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Copy">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Copy(string str)" />
      <MemberSignature Language="C#" Value="public static string Copy (string str);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="str" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="str">The <see cref="T:System.String" /> to be copied.</param>
        <summary>
          <para>Creates a new instance of <see cref="T:System.String" /> with the same value as a specified
   instance of <see cref="T:System.String" />.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> with the same value as
<paramref name="str" />.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="str" /> is a null reference.</exception>
        <example>
          <para>The following example demonstrates copying strings.</para>
          <code lang="C#">using System;
public class StringCopyExample {
 public static void Main() {
 string strA = "string";
 Console.WriteLine( "The initial string, strA, is '{0}'.", strA );
 string strB = String.Copy( strA );
 strA = strA.ToUpper();
 Console.WriteLine( "The copied string, strB, before strA.ToUpper, is '{0}'.", strB );
 Console.WriteLine( "The initial string after StringCopy and ToUpper, is '{0}'.", strA );
 Console.WriteLine( "The copied string, strB, after strA.ToUpper, is '{0}'.", strB );
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>The initial string, strA, is 'string'.</para>
            <para>The copied string, strB, before strA.ToUpper, is 'string'.</para>
            <para>The initial string after StringCopy and ToUpper, is 'STRING'.</para>
            <para>The copied string, strB, after strA.ToUpper, is 'string'.</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CopyTo">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance void CopyTo(int32 sourceIndex, class System.Char[] destination, int32 destinationIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public void CopyTo (int sourceIndex, char[] destination, int destinationIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="sourceIndex" Type="System.Int32" />
        <Parameter Name="destination" Type="System.Char[]" />
        <Parameter Name="destinationIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="sourceIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to copy.</param>
        <param name="destination">An array of Unicode characters.</param>
        <param name="destinationIndex">A <see cref="T:System.Int32" /> containing the index of an array element in <paramref name="destination" /> to copy.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the number of characters in the current instance to copy to <paramref name="destination" />.</param>
        <summary>
          <para>Copies a specified number of characters from a specified
      position in the current <see cref="T:System.String" />
      instance to
      a specified position in a specified array of Unicode characters.</para>
        </summary>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="destination" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="sourceIndex" />, <paramref name="destinationIndex" />, or <paramref name="count" /> is negative </para>
          <para>-or- </para>
          <para>
            <paramref name="count" /> is greater than the length of the substring from <paramref name="startIndex" /> to the end of the current instance </para>
          <para>-or- </para>
          <para>
            <paramref name="count" /> is greater than the length of the subarray from <paramref name="destinationIndex" /> to the end of <paramref name="destination" /></para>
        </exception>
        <example>
          <para>The following example demonstrates copying characters from a string to a 
      Unicode character array.</para>
          <code lang="C#">using System;
public class StringCopyToExample {
 public static void Main() {
 string str = "this is the new string";
 Char[] cAry = {'t','h','e',' ','o','l','d'};
 Console.WriteLine( "The initial string is '{0}'", str );
 Console.Write( "The initial character array is: '" );
 foreach( Char c in cAry)
 Console.Write( c );
 Console.WriteLine( "'" );
 str.CopyTo( 12, cAry, 4, 3 );
 Console.Write( "The character array after CopyTo is: '" );
 foreach( Char c in cAry)
 Console.Write( c );
 Console.WriteLine("'");
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>The initial string is 'this is the new string'</para>
            <para>The initial character array is: 'the old'</para>
            <para>The character array after CopyTo is: 'the new'</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Empty">
      <MemberSignature Language="ILASM" Value=".field public static initOnly string Empty" />
      <MemberSignature Language="C#" Value="public static readonly string Empty;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para> A constant string representing the empty string.</para>
        </summary>
        <remarks>
          <para>This field is read-only.</para>
          <para>This field is a string of length zero, "".</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="EndsWith">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance bool EndsWith(string value)" />
      <MemberSignature Language="C#" Value="public bool EndsWith (string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="value">A <see cref="T:System.String" /> to match.</param>
        <summary>
          <para>Returns a <see cref="T:System.Boolean" /> value that indicates whether the ending characters of the current
   instance match the specified <see cref="T:System.String" />.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if the end of the current instance
   is equal to <paramref name="value" />; <see langword="false" /> if <paramref name="value" /> is not
   equal to the end of the current instance or is longer than the
   current instance.</para>
        </returns>
        <remarks>
          <para> This method compares <paramref name="value" />
with the substring at
the end of the current instance that has a same length as <paramref name="value." /></para>
          <para> The comparison
   is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference.</exception>
        <example>
          <para>The following example demonstrates determining whether the current instance 
      ends with a specified string.</para>
          <code lang="C#">using System;
public class StringEndsWithExample {
 public static void Main() {
 string str = "One string to compare";
 Console.WriteLine( "The given string is '{0}'", str );
 Console.Write( "The given string ends with 'compare'? " );
 Console.WriteLine( str.EndsWith( "compare" ) );
 Console.Write( "The given string ends with 'Compare'? " );
 Console.WriteLine( str.EndsWith( "Compare" ) );
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>The given string is 'One string to compare'</para>
            <para>The given string ends with 'compare'? True</para>
            <para>The given string ends with 'Compare'? False</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="EndsWith">
      <MemberSignature Language="C#" Value="public bool EndsWith (string value, StringComparison comparisonType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="comparisonType" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="comparisonType">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="EndsWith">
      <MemberSignature Language="C#" Value="public bool EndsWith (string value, bool ignoreCase, System.Globalization.CultureInfo culture);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="ignoreCase" Type="System.Boolean" />
        <Parameter Name="culture" Type="System.Globalization.CultureInfo" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="ignoreCase">To be added.</param>
        <param name="culture">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)" />
      <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="obj">A <see cref="T:System.Object" />.</param>
        <summary>
          <para>Determines whether the current instance and the specified
      object have the
      same value.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if <paramref name="obj" /> is a <see cref="T:System.String" /> and its value is
   the same as the value of the current instance; otherwise,
<see langword="false" />.</para>
        </returns>
        <remarks>
          <para> This method checks for value equality. This comparison is case-sensitive.</para>
          <para>
            <block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.Equals(System.Object)" /> .</block>
          </para>
        </remarks>
        <exception cref="T:System.NullReferenceException">The current instance is a null reference.</exception>
        <example>
          <para>The following example demonstrates checking to see if an object is equal to 
      the current instance.</para>
          <code lang="C#">using System;
public class StringEqualsExample {
 public static void Main() {
 string str = "A string";
 Console.WriteLine( "The given string is '{0}'", str );
 Console.Write( "The given string is equal to 'A string'? " );
 Console.WriteLine( str.Equals( "A string" ) );
 Console.Write( "The given string is equal to 'A String'? " );
 Console.WriteLine( str.Equals( "A String" ) );
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>The given string is 'A string'</para>
            <para>The given string is equal to 'A string'? True</para>
            <para>The given string is equal to 'A String'? False</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public bool Equals (string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="value">A <see cref="T:System.String" />.</param>
        <summary>
          <para>Determines whether the current instance and the specified
      string have the
      same value.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if the value of <paramref name="value" /> is the same as the value of the current instance; otherwise, <see langword="false" />.</para>
        </returns>
        <remarks>
          <para> This method checks for value equality. This comparison is case-sensitive.</para>
          <para>
            <block subset="none" type="note">This method is implemented to support the <see cref="T:System.IEquatable&lt;System.String&gt;" /> interface.</block>
          </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool Equals(string a, string b)" />
      <MemberSignature Language="C#" Value="public static bool Equals (string a, string b);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="a" Type="System.String" />
        <Parameter Name="b" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="a">A <see cref="T:System.String" /> or a null reference.</param>
        <param name="b">A <see cref="T:System.String" /> or a null reference.</param>
        <summary>
          <para> Determines whether two specified <see cref="T:System.String" /> objects have the
   same value.</para>
        </summary>
        <returns>
          <para>
            <see langword="true " />if the value of <paramref name="a" /> is the
   same as the value of <paramref name="b" />; otherwise, <see langword="false" />.</para>
        </returns>
        <remarks>
          <para> The comparison
      is case-sensitive.</para>
        </remarks>
        <example>
          <para>The following example demonstrates checking to see if two strings are 
      equal.</para>
          <code lang="C#">using System;
public class StringEqualsExample {
 public static void Main() {
 string strA = "A string";
 string strB = "a string";
 string strC = "a string";
 Console.Write( "The string '{0}' is equal to the string '{1}'? ", strA, strB );
 Console.WriteLine( String.Equals( strA, strB ) );
 Console.Write( "The string '{0}' is equal to the string '{1}'? ", strC, strB );
 Console.WriteLine( String.Equals( strC, strB ) );
 }
}
   </code>
          <para>The output is</para>
          <c>
            <para>The string 'A string' is equal to the string 'a string'? False</para>
            <para>The string 'a string' is equal to the string 'a string'? True</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public bool Equals (string value, StringComparison comparisonType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="comparisonType" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="comparisonType">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public static bool Equals (string a, string b, StringComparison comparisonType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="a" Type="System.String" />
        <Parameter Name="b" Type="System.String" />
        <Parameter Name="comparisonType" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="a">To be added.</param>
        <param name="b">To be added.</param>
        <param name="comparisonType">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Format">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(string format, object arg0)" />
      <MemberSignature Language="C#" Value="public static string Format (string format, object arg0);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="format" Type="System.String" />
        <Parameter Name="arg0" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="format">A <see cref="T:System.String" /> containing zero or more format specifications.</param>
        <param name="arg0">A <see cref="T:System.Object" /> to be formatted. Can be a null reference.</param>
        <summary>
          <para>Replaces the format specification in a provided <see cref="T:System.String" /> with a specified
   textual equivalent of the value of a specified <see cref="T:System.Object" /> instance.</para>
        </summary>
        <returns>
          <para>A copy of <paramref name="format" /> in which the
   first format specification has been replaced by the formatted <see cref="T:System.String" /> equivalent of the
<paramref name="arg0" />.</para>
        </returns>
        <remarks>
          <para>If an object referenced in the format string is a null reference, an empty string is used in its place.</para>
          <para>
            <block subset="none" type="note"> This version of
      <see cref="M:System.String.Format(System.String,System.Object)" /> is
      equivalent to <see langword="String.Format" />( <see langword="null" /> , <paramref name="format" />, <see langword="new Object" />[] {<paramref name="arg0" />} ). For more information on the format
      specification see the <see cref="T:System.String" /> class overview.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="format " /> is a null reference.</exception>
        <exception cref="T:System.FormatException">
          <para>The format specification in <paramref name="format" /> is invalid.</para>
          <para> -or-</para>
          <para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (1).</para>
        </exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.Format(System.String,System.Object)" /> method.</para>
          <code lang="C#">
using System;
public class StringFormat {
 public static void Main() {
 Console.WriteLine(String.Format("The high temperature today was {0:###} degrees.", 88));
 Console.WriteLine("The museum had {0,-6} visitors today.", 88);
 }
}
</code>
          <para>The output is</para>
          <code>
The high temperature today was 88 degrees.
The museum had 88     visitors today.
</code>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Format">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(string format, class System.Object[] args)" />
      <MemberSignature Language="C#" Value="public static string Format (string format, object[] args);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="format" Type="System.String" />
        <Parameter Name="args" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="format">A <see cref="T:System.String" /> containing zero or more format specifications.</param>
        <param name="args">A <see cref="T:System.Object" /> array containing the objects to be formatted.</param>
        <summary>
          <para>Replaces the format specification in a specified <see cref="T:System.String" /> with the textual
   equivalent of the value of a corresponding <see cref="T:System.Object" /> instance in a specified array.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing a copy of <paramref name="format" /> in which the format
   specifications have been replaced by the <see cref="T:System.String" /> equivalent of the corresponding
   instances of <see cref="T:System.Object" /> in <paramref name="args" />.</para>
        </returns>
        <remarks>
          <para>If an object referenced in the format string is a null
      reference, an empty string is used in its place. </para>
          <para>
            <block subset="none" type="note"> This version of
      <see cref="M:System.String.Format(System.String,System.Object)" /> is
      equivalent to <see cref="M:System.String.Format(System.String,System.Object)" />( null, <paramref name="format" />, <paramref name="args" /> ). For more
      information on the format specification see the <see cref="T:System.String" />
      class
      overview.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="format" /> or <paramref name="args " />is a null reference.</exception>
        <exception cref="T:System.FormatException">
          <para>
            <paramref name="format" /> is invalid.</para>
          <para> -or-</para>
          <para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the length of the <paramref name="args" /> array.</para>
        </exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.Format(System.String,System.Object)" /> method.</para>
          <code lang="C#">
using System;
public class StringFormat {
   public static void Main() {
      Console.WriteLine( String.Format("The winning numbers were {0:000} {1:000} {2:000} {3:000} {4:000} today.", 5, 10, 11, 37, 42) );
      Console.WriteLine( "The winning numbers were {0, -6}{1, -6}{2, -6}{3, -6}{4, -6} today.", 5, 10, 11, 37, 42 );
 }
}
</code>
          <para>The output is</para>
          <code>
The winning numbers were 005 010 011 037 042 today.
The winning numbers were 5     10    11    37    42     today.
</code>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Format">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(class System.IFormatProvider provider, string format, class System.Object[] args)" />
      <MemberSignature Language="C#" Value="public static string Format (IFormatProvider provider, string format, object[] args);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
        <Parameter Name="format" Type="System.String" />
        <Parameter Name="args" Type="System.Object[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="provider">A <see cref="T:System.IFormatProvider" /> interface that supplies an object that provides culture-specific formatting information. Can be a null reference.</param>
        <param name="format">A <see cref="T:System.String" /> containing zero or more format specifications.</param>
        <param name="args">A <see cref="T:System.Object" /> array to be formatted.</param>
        <summary>
          <para>Replaces the format specification in a specified <see cref="T:System.String" /> with the
   culture-specific textual equivalent of the value of a corresponding <see cref="T:System.Object" /> instance in a
   specified array. </para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing a copy of <paramref name="format" /> in which the format
   specifications have been replaced by the <see cref="T:System.String" /> equivalent of the corresponding
   instances of <see cref="T:System.Object" /> in <paramref name="args" /> .</para>
        </returns>
        <remarks>
          <para>If an object referenced in the format string is a null
      reference, an empty string is used in its place.</para>
          <para>The <paramref name="format" /> parameter string is embedded with
   zero or more format specifications of the form, {<paramref name="N" /> [, <paramref name="M" /> ][:
<paramref name="formatString" /> ]}, where <paramref name="N " />is a zero-based integer indicating 
   the argument to be formatted, <paramref name="M" /> is an optional integer indicating the
   width of the region to contain the formatted value, and <paramref name="formatString" /> is
   an optional string of formatting codes. <block subset="none" type="note">
   For more information on the format specification see the <see cref="T:System.String" /> class
   overview.</block></para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="format" /> or <paramref name="args" /> is a null reference.</exception>
        <exception cref="T:System.FormatException">
          <para>
            <paramref name="format" /> is invalid.</para>
          <para>-or-</para>
          <para>The number indicating an argument to be formatted (<paramref name="N" />) is less than zero, or greater than or equal to the length of the <paramref name="args" /> array.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Format">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(string format, object arg0, object arg1)" />
      <MemberSignature Language="C#" Value="public static string Format (string format, object arg0, object arg1);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="format" Type="System.String" />
        <Parameter Name="arg0" Type="System.Object" />
        <Parameter Name="arg1" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="format">A <see cref="T:System.String" /> containing zero or more format specifications.</param>
        <param name="arg0">A <see cref="T:System.Object" /> to be formatted. Can be a null reference.</param>
        <param name="arg1">A <see cref="T:System.Object" /> to be formatted. Can be a null reference.</param>
        <summary>
          <para>Replaces the format specification in a specified <see cref="T:System.String" /> with the textual equivalent of the value of two
   specified <see cref="T:System.Object" />
   instances.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing a copy of <paramref name="format" /> in which the format
   specifications have been replaced by the <see cref="T:System.String" /> equivalent of <paramref name="arg0" /> and
<paramref name="arg1" />.</para>
        </returns>
        <remarks>
          <para>If an object referenced in the format string is a null
      reference, an empty string is used in its place.</para>
          <para>
            <block subset="none" type="note"> This version of
      <see cref="M:System.String.Format(System.String,System.Object)" /> is
      equivalent to <see langword="String.Format" />( <see langword="null" />,
      <paramref name="format" />, <see langword="new Object[]" /> {<paramref name="arg0" />, <paramref name="arg1" />} ).
      For more information on the format specification see the <see cref="T:System.String" /> class
      overview.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="format" /> is a null reference.</exception>
        <exception cref="T:System.FormatException">
          <para>
            <paramref name="format" /> is invalid.</para>
          <para> -or-</para>
          <para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (2).</para>
        </exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.Format(System.String,System.Object)" /> method.</para>
          <code lang="C#">using System;
public class StringFormat {
  public static void Main() {
  Console.WriteLine( String.Format("The temperature today oscillated between {0:####} and {1:####} degrees.", 78, 100) );
  Console.WriteLine( String.Format("The temperature today oscillated between {0:0000} and {1:0000} degrees.", 78, 100) );
  Console.WriteLine( "The temperature today oscillated between {0, -4} and {1, -4} degrees.", 78, 100 );
   }
}
</code>
          <para>The output is</para>
          <code>
The temperature today oscillated between 78 and 100 degrees.
The temperature today oscillated between 0078 and 0100 degrees.
The temperature today oscillated between 78   and 100  degrees.
</code>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Format">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(string format, object arg0, object arg1, object arg2)" />
      <MemberSignature Language="C#" Value="public static string Format (string format, object arg0, object arg1, object arg2);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="format" Type="System.String" />
        <Parameter Name="arg0" Type="System.Object" />
        <Parameter Name="arg1" Type="System.Object" />
        <Parameter Name="arg2" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="format">A <see cref="T:System.String" /> containing zero or more format specifications.</param>
        <param name="arg0">The first <see cref="T:System.Object" /> to be formatted. Can be a null reference.</param>
        <param name="arg1">The second <see cref="T:System.Object" /> to be formatted. Can be a null reference.</param>
        <param name="arg2">The third <see cref="T:System.Object" /> to be formatted. Can be a null reference.</param>
        <summary>
          <para>Replaces the format specification in a specified <see cref="T:System.String" /> with the textual
   equivalent of the value of three specified <see cref="T:System.Object" /> instances.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing a copy of <paramref name="format" /> in which the first, second,
   and third format specifications have been replaced by the <see cref="T:System.String" /> equivalent of
<paramref name="arg0" />, <paramref name="arg1" />, and <paramref name="arg2" />.</para>
        </returns>
        <remarks>
          <para>If an object referenced in the format string is a null
      reference, an empty string is used in its place. </para>
          <para>
            <block subset="none" type="note"> This version of
      <see cref="M:System.String.Format(System.String,System.Object)" /> is
      equivalent to <see langword="String.Format" />( <see langword="null" />,
      <paramref name="format" />, <see langword="new Object[]" /> {<paramref name="arg0" />, <paramref name="arg1" />,
      <paramref name="arg2" />} ). For more information on the format specification see the
      <see cref="T:System.String" /> class
      overview.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="format" /> is a null reference.</exception>
        <exception cref="T:System.FormatException">
          <para>
            <paramref name="format" /> is invalid.</para>
          <para> -or-</para>
          <para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (3).</para>
        </exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.Format(System.String,System.Object)" /> method.</para>
          <code lang="C#">
using System;
public class StringFormat {
   public static void Main() {
      Console.WriteLine(String.Format("The temperature today oscillated between {0:###} and {1:###} degrees. The average temperature  was {2:000} degrees.", 78, 100, 91));
      Console.WriteLine("The temperature today oscillated between {0, 4} and {1, 4} degrees. The average temperature was {2, 4}  degrees.", 78, 100, 91);
   }
}
</code>
          <para>The output is</para>
          <code>
The temperature today oscillated between 78 and 100 degrees. The average temperature was 091 degrees.
The temperature today oscillated between   78 and  100 degrees. The average temperature was   91 degrees.</code>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetEnumerator">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.CharEnumerator GetEnumerator()" />
      <MemberSignature Language="C#" Value="public CharEnumerator GetEnumerator ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.CharEnumerator</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Retrieves an object that can iterate through the individual
      characters in the current instance.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.CharEnumerator" /> object.</para>
        </returns>
        <remarks>
          <para> This method is required by programming languages
      that support the <see cref="T:System.Collections.IEnumerator" /> interface to iterate through members of a
      collection.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetHashCode">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetHashCode()" />
      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Generates a hash code for the current instance.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> containing the hash code for this instance.</para>
        </returns>
        <remarks>
          <para> The algorithm used to
      generate the hash code is unspecified.</para>
          <para>
            <block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.GetHashCode" />.</block>
          </para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetTypeCode">
      <MemberSignature Language="C#" Value="public TypeCode GetTypeCode ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.TypeCode</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(valuetype System.Char value)" />
      <MemberSignature Language="C#" Value="public int IndexOf (char value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Char" />
      </Parameters>
      <Docs>
        <param name="value">A Unicode character.</param>
        <summary>
          <para>Returns the index of the first occurrence of a specified
      Unicode character in the current instance.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> containing the zero-based index of the first occurrence of <paramref name="value" />
   character in the current instance; otherwise, -1 if <paramref name="value" /> was not found.</para>
        </returns>
        <remarks>
          <para> This method is case-sensitive.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(string value)" />
      <MemberSignature Language="C#" Value="public int IndexOf (string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="value">The <see cref="T:System.String" /> for which to search.</param>
        <summary>
          <para>Returns the index of the first occurrence of a specified
   <see cref="T:System.String" /> in the current instance.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> that indicates the result of the search for
<paramref name="value" /> in the current instance as follows:</para>
          <list type="table">
            <listheader>
              <term>Return Value</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> A zero-based number equal to the index of the start of the first substring in
         the current instance that is equal to <paramref name="value" />
         
         .</term>
              <description>
                <paramref name="value" />
   was found starting at the index returned.</description>
            </item>
            <item>
              <term> -1</term>
              <description>
                <paramref name="value" /> was not found.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <para> The search begins at the first character of the current instance. The search is
      case-sensitive, culture-sensitive, and the culture (if any) of the current thread
      is
      used.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference.</exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.IndexOf(System.Char)" /> 
method.</para>
          <code lang="C#">using System;
public class StringIndexOf {
 public static void Main() {
 String str = "This is the string";
 Console.WriteLine( "Searching for the index of \"is\" yields {0,2}.", str.IndexOf( "is" ) );
 Console.WriteLine( "Searching for the index of \"Is\" yields {0,2}.", str.IndexOf( "Is" ) );
 Console.WriteLine( "Searching for the index of \"\" yields {0,2}.", str.IndexOf( "" ) );
 }
}
</code>
          <para>The output is</para>
          <c>
            <para>Searching for the index of "is" yields 2.</para>
            <para>Searching for the index of "Is" yields -1.</para>
            <para>Searching for the index of "" yields 0.</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(valuetype System.Char value, int32 startIndex)" />
      <MemberSignature Language="C#" Value="public int IndexOf (char value, int startIndex);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Char" />
        <Parameter Name="startIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">A Unicode character.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <summary>
          <para>Returns the index of the first occurrence of a specified Unicode character
      in the current instance, with the search starting from a specified index.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Int32" /> containing the zero-based index of the first occurrence of
<paramref name="value" /> in the current instance starting from the specified index; otherwise, -1 if <paramref name="value" /> was not found.</para>
        </returns>
        <remarks>
          <para> This method is case-sensitive. </para>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="startIndex" /> is less than zero or greater than the length of the current instance.</exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.IndexOf(System.Char)" /> 
method.</para>
          <code lang="C#">using System;
public class StringIndexOf {
 public static void Main() {
 String str = "This is the string";
 Console.WriteLine( "Searching for the index of 'h' starting from index 0 yields {0}.", str.IndexOf( 'h', 0 ) );
 Console.WriteLine( "Searching for the index of 'h' starting from index 10 yields {0}.", str.IndexOf( 'h', 10 ) );
 }
}
</code>
          <para>The output is</para>
          <c>
            <para>Searching for the index of 'h' starting from index 0 yields 1.</para>
            <para>Searching for the index of 'h' starting from index 10 yields -1.</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(string value, int32 startIndex)" />
      <MemberSignature Language="C#" Value="public int IndexOf (string value, int startIndex);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="startIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">The <see cref="T:System.String" /> for which to search.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <summary>
          <para>Returns the index of the first occurrence of a specified
   <see cref="T:System.String" /> in the current instance, with
      the search starting from a specified index.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> that indicates the result of the search for
<paramref name="value" /> in the current instance as follows:</para>
          <list type="table">
            <listheader>
              <term>Return Value</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> A zero-based number equal to the index of the start of the first substring in
         the current instance that is equal to <paramref name="value" />
         .</term>
              <description>
                <paramref name="value" /> was found starting at the index returned.</description>
            </item>
            <item>
              <term> -1</term>
              <description>
                <paramref name="value" /> was not found.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <para> This method is
      case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> is greater than the length of the current instance.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="C#" Value="public int IndexOf (string value, StringComparison comparison);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="comparison" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="comparison">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(valuetype System.Char value, int32 startIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public int IndexOf (char value, int startIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Char" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">A Unicode character.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the number of consecutive elements of the current instance to be searched starting at <paramref name="startIndex" />.</param>
        <summary>
          <para> Returns the index of the first occurrence of a specified Unicode character in the
      current instance, with the search over the specified range starting
      at the provided index.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Int32" /> containing the zero-based index of
   the first occurrence of <paramref name="value" /> in the current instance in the specified range of indexes; otherwise, -1 if
<paramref name="value" />
was not found.</para>
        </returns>
        <remarks>
          <para>The search begins at <paramref name="startIndex" /> and continues until
<paramref name="startIndex" /> + <paramref name="count" /> - 1 is reached. The character at 
<paramref name="startIndex" /> + <paramref name="count" /> is not included in the search.</para>
          <para>This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="count" /> is negative</para>
          <para> -or-</para>
          <para>
            <paramref name="startIndex" /> + <paramref name="count" /> is greater than the length of the current instance.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(string value, int32 startIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public int IndexOf (string value, int startIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">The <see cref="T:System.String" /> for which to search</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the number of consecutive elements of the current instance to be searched starting at <paramref name="startIndex" />.</param>
        <summary>
          <para>Returns the index of the first occurrence of a specified
   <see cref="T:System.String" /> in the current
      instance, with the search over the specified range starting at the provided index.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> that indicates the result of the search for
<paramref name="value" /> in the current instance as follows:</para>
          <list type="table">
            <listheader>
              <term>Return Value</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> A zero-based number equal to the index of the start of the first substring in
         the current instance that is equal to <paramref name="value" />
         .</term>
              <description>
                <paramref name="value" /> was found starting at the index returned.</description>
            </item>
            <item>
              <term> -1</term>
              <description>
                <paramref name="value" /> was not found.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <para> The search begins at <paramref name="startIndex" /> and continues
   until <paramref name="startIndex" /> + <paramref name="count" /> - 1 is reached. The character at
<paramref name="startIndex" /> + <paramref name="count" /> is
   not included in the
   search.</para>
          <para> This method is
   case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="count" /> is negative</para>
          <para> -or-</para>
          <para>
            <paramref name="startIndex" /> + <paramref name="count" /> is greater than the length of the current instance.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="C#" Value="public int IndexOf (string value, int startIndex, StringComparison comparison);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="comparison" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="startIndex">To be added.</param>
        <param name="comparison">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="IndexOf">
      <MemberSignature Language="C#" Value="public int IndexOf (string value, int startIndex, int count, StringComparison comparison);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
        <Parameter Name="comparison" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="startIndex">To be added.</param>
        <param name="count">To be added.</param>
        <param name="comparison">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="IndexOfAny">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOfAny(class System.Char[] anyOf)" />
      <MemberSignature Language="C#" Value="public int IndexOfAny (char[] anyOf);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="anyOf" Type="System.Char[]" />
      </Parameters>
      <Docs>
        <param name="anyOf"> An array of Unicode characters.</param>
        <summary>
          <para>Reports the index of the first occurrence in the current
      instance of any character in a specified array of Unicode
      characters.</para>
        </summary>
        <returns>
          <para>The index of the first occurrence of an element of <paramref name="anyOf" /> in the
   current instance; otherwise, -1 if no element of <paramref name="anyOf" /> was found.</para>
        </returns>
        <remarks>
          <para>This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="anyOf" /> is a null reference.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IndexOfAny">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOfAny(class System.Char[] anyOf, int32 startIndex)" />
      <MemberSignature Language="C#" Value="public int IndexOfAny (char[] anyOf, int startIndex);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="anyOf" Type="System.Char[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="anyOf">An array of Unicode characters.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <summary>
          <para>Returns the index of the first occurrence of any element in a specified array
      of Unicode characters in the current instance, with the search starting from a
      specified index.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> containing a positive value equal to the index of the
   first occurrence of an element of <paramref name="anyOf" /> in the current instance;
   otherwise, -1 if no element of <paramref name="anyOf" />
   was found.</para>
        </returns>
        <remarks>
          <para>This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="anyOf" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="startIndex" /> is greater than the length of the current instance</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IndexOfAny">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOfAny(class System.Char[] anyOf, int32 startIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public int IndexOfAny (char[] anyOf, int startIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="anyOf" Type="System.Char[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="anyOf">An array containing the Unicode characters to seek.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the range of the current instance at which to end searching.</param>
        <summary>
          <para>Returns the index of the first occurrence of any element in a specified Array
      of Unicode characters in the current instance, with the search over the
      specified range starting from the provided index.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> containing a positive value equal to the index of
   the first occurrence of an element of <paramref name="anyOf" /> in the current instance;
   otherwise, -1 if no element of <paramref name="anyOf" /> was found.</para>
        </returns>
        <remarks>
          <para>The search begins at <paramref name="startIndex" /> and continues
   until <paramref name="startIndex" /> + <paramref name="count" /> - <paramref name="1" />. The character at
<paramref name="startIndex" /> + <paramref name="count" /> is not included in the search.</para>
          <para>This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="anyOf" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="count" /> is negative.</para>
          <para>-or-</para>
          <para>
            <paramref name="startIndex" /> + <paramref name="count" /> is greater than the length of the current instance. </para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Insert">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string Insert(int32 startIndex, string value)" />
      <MemberSignature Language="C#" Value="public string Insert (int startIndex, string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the insertion. </param>
        <param name="value">The <see cref="T:System.String" /> to insert. </param>
        <summary>
          <para> Returns a <see cref="T:System.String" /> equivalent to the current instance with a specified
<see cref="T:System.String" /> inserted at the specified position.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> that is equivalent to the current string with
<paramref name="value" /> inserted at index <paramref name="startIndex." /></para>
        </returns>
        <remarks>
          <para>In the new string returned by this method, the first
      character of <paramref name="value" /> is at <paramref name="startIndex," /> and all characters in the
      current string from <paramref name="startIndex" /> to the end are inserted in the new
      string after the last character of <paramref name="value" />.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference. </exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> is greater than the length of the current instance. </para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Intern">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Intern(string str)" />
      <MemberSignature Language="C#" Value="public static string Intern (string str);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="str" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="str">A <see cref="T:System.String" />. </param>
        <summary>
          <para> Retrieves the system's reference to a specified <see cref="T:System.String" />. </para>
        </summary>
        <returns>
          <para> The <see cref="T:System.String" /> reference to <paramref name="str" />.
   </para>
        </returns>
        <remarks>
          <para> Instances of each unique literal string constant
      declared in a program, as well as any unique instance of <see cref="T:System.String" /> you add
      programmatically are kept in a table, called
      
      the "intern pool".
      </para>
          <para> The intern pool conserves string storage. If a literal
      string constant is assigned to several variables, each variable is set to
      reference the same constant in the intern pool instead of referencing several
      different instances of <see cref="T:System.String" /> that
      
      have identical values.
      </para>
          <para> This method looks up a specified string in the intern
      pool. If the string exists, a reference to it is returned. If it does not exist,
      an instance equal to the specified string is added to the intern pool and a
      reference that
      
      instance is returned.
      </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="str" /> is a null reference. </exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.Intern(System.String)" /> method.</para>
          <code lang="C#">using System;
using System.Text;
public class StringExample {
 public static void Main() {

     String s1 = "MyTest"; 
        String s2 = new StringBuilder().Append("My").Append("Test").ToString(); 
        String s3 = String.Intern(s2);

        Console.WriteLine(Object.ReferenceEquals(s1, s2));    //different
        Console.WriteLine(Object.ReferenceEquals(s1, s3));    //the same
    }
}
</code>
          <para>The output is</para>
          <c>
            <para>False</para>
            <para>True</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsInterned">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string IsInterned(string str)" />
      <MemberSignature Language="C#" Value="public static string IsInterned (string str);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="str" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="str">A <see cref="T:System.String" />. </param>
        <summary>
          <para> Retrieves a reference to a specified <see cref="T:System.String" />. </para>
        </summary>
        <returns>
          <para> A <see cref="T:System.String" /> reference to <paramref name="str" /> if it is in the system's
   intern pool; otherwise, a null reference.</para>
        </returns>
        <remarks>
          <para>Instances of each unique literal string constant
      declared in a program, as well as any unique instance of <see cref="T:System.String" /> you add
      programmatically are kept in a table, called the "intern pool". </para>
          <para>The intern pool conserves string storage. If a literal
      string constant is assigned to several variables, each variable is set to
      reference the same constant in the intern pool instead of referencing several
      different instances of <see cref="T:System.String" /> that have identical values. </para>
          <para>
            <block subset="none" type="note"> This method
      does not return a <see cref="T:System.Boolean" /> value, but can still be used where a <see cref="T:System.Boolean" />
      is needed.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="str" /> is a null reference. </exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.IsInterned(System.String)" />
method.</para>
          <code lang="C#">using System;
using System.Text;

public class StringExample {
    public static void Main() {

        String s1 = new StringBuilder().Append("My").Append("Test").ToString(); 

        Console.WriteLine(String.IsInterned(s1) != null);
    }
}
</code>
          <para>The output is</para>
          <para>
            <c>True</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="IsNormalized">
      <MemberSignature Language="C#" Value="public bool IsNormalized ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="IsNormalized">
      <MemberSignature Language="C#" Value="public bool IsNormalized (System.Text.NormalizationForm form);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="form" Type="System.Text.NormalizationForm" />
      </Parameters>
      <Docs>
        <param name="form">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="IsNullOrEmpty">
      <MemberSignature Language="C#" Value="public static bool IsNullOrEmpty (string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Join">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Join(string separator, class System.String[] value)" />
      <MemberSignature Language="C#" Value="public static string Join (string separator, string[] value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="separator" Type="System.String" />
        <Parameter Name="value" Type="System.String[]" />
      </Parameters>
      <Docs>
        <param name="separator">A <see cref="T:System.String" />. </param>
        <param name="value">A <see cref="T:System.String" /> array. </param>
        <summary>
          <para> Concatenates the elements of a specified <see cref="T:System.String" /> array, inserting
   a separator string between each element pair and yielding
   a single concatenated string.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.String" /> consisting of the elements of <paramref name="value" /> separated
   by instances of the <paramref name="separator" />
   string.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference. </exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.Join(System.String,System.String[])" /> method.</para>
          <code lang="C#">using System;
public class StringJoin {
 public static void Main() {
 String[] strAry = { "Red" , "Green" , "Blue" };
 Console.WriteLine( String.Join( " :: ", strAry ) );
 }
}
</code>
          <para>The output is</para>
          <para>
            <c>Red :: Green
   :: Blue</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Join">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static string Join(string separator, class System.String[] value, int32 startIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public static string Join (string separator, string[] value, int startIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="separator" Type="System.String" />
        <Parameter Name="value" Type="System.String[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="separator">A <see cref="T:System.String" />. </param>
        <param name="value">A <see cref="T:System.String" /> array. </param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the first array element in <paramref name="value" /> to join. </param>
        <param name="count">A <see cref="T:System.Int32" /> containing the number of elements in <paramref name="value" /> to join. </param>
        <summary>
          <para>Concatenates a specified separator <see cref="T:System.String" />
between the elements of a
specified <see cref="T:System.String" />
array, yielding a
single concatenated string.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.String" /> consisting of the specified strings in <paramref name="value" /> joined by
<paramref name="separator" />. Returns <see cref="F:System.String.Empty" /> if <paramref name="count" /> is zero, <paramref name="value" /> has no
   elements, or <paramref name="separator" /> and all the elements of <paramref name="value" /> are
<see langword="Empty" />.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="startIndex" /> plus <paramref name="count" /> is greater than the number of elements in <paramref name="value" />.</exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.Join(System.String,System.String[])" /> method.</para>
          <code lang="C#">using System;
public class StringJoin {
 public static void Main() {
 String[] strAry = { "Red" , "Green" , "Blue" };
 Console.WriteLine( String.Join( " :: ", strAry, 1, 2 ) );
 }
}
</code>
          <para>The output is</para>
          <para>
            <c>Green ::
   Blue</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(valuetype System.Char value)" />
      <MemberSignature Language="C#" Value="public int LastIndexOf (char value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Char" />
      </Parameters>
      <Docs>
        <param name="value">The Unicode character to locate. </param>
        <summary>
          <para> Returns the index of the last occurrence of a specified character
      within the current instance.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Int32" /> containing the index of the last occurrence of <paramref name="value" />
in the current instance, if found; otherwise, -1.</para>
        </returns>
        <remarks>
          <para> This method is case-sensitive.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(string value)" />
      <MemberSignature Language="C#" Value="public int LastIndexOf (string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="value">A <see cref="T:System.String" /> .</param>
        <summary>
          <para>Returns the index of the last occurrence of a specified
   <see cref="T:System.String" /> within
      the current instance.</para>
        </summary>
        <returns>
   A <see cref="T:System.Int32" /> that indicates the result of the search for <paramref name="value" />
   in the current instance as follows:<list type="table"><listheader><term>Return Value</term><description>Description</description></listheader><item><term> A zero-based number equal to the index of the start of the last substring in
         the current instance that is equal to <paramref name="value" />
         .</term><description><paramref name="value" /> was found.</description></item><item><term> -1</term><description><paramref name="value" /> was not found.</description></item></list></returns>
        <remarks>
          <para> The search is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(valuetype System.Char value, int32 startIndex)" />
      <MemberSignature Language="C#" Value="public int LastIndexOf (char value, int startIndex);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Char" />
        <Parameter Name="startIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">A Unicode character to locate.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index in the current instance from which to begin searching.</param>
        <summary>
          <para> Returns the index of the last occurrence of a specified character within the current instance.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Int32" /> containing the index of the last occurrence of <paramref name="value" /> in the current instance, if found; otherwise, -1.</para>
        </returns>
        <remarks>
          <para> This method searches for the last occurrence of the specified character between the start of the string and the indicated index.</para>
          <para>This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="startIndex" /> is less than zero or greater than the length of the current instance.</exception>
        <example>
          <para>The following example demonstrates the <see cref="M:System.String.LastIndexOf(System.Char)" /> 
method.</para>
          <code lang="C#">using System;
public class StringLastIndexOfTest {
   public static void Main() {
      String str = "aa bb cc dd";
      
      Console.WriteLine( str.LastIndexOf('d', 8) );
      Console.WriteLine( str.LastIndexOf('b', 8) );
   }
}
</code>
          <para>The output is</para>
          <c>
            <para>-1</para>
            <para>4</para>
          </c>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(string value, int32 startIndex)" />
      <MemberSignature Language="C#" Value="public int LastIndexOf (string value, int startIndex);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="startIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">A <see cref="T:System.String" /> .</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <summary>
          <para>Returns the index of the last occurrence of a specified
   <see cref="T:System.String" />
   within the current instance, starting at a given position.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> that indicates the result of the search for <paramref name="value" />
in the current instance as follows:</para>
          <list type="table">
            <listheader>
              <term>Return Value</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> A zero-based number equal to the index of the start of the last substring in
         the current instance that is equal to <paramref name="value" />
         .</term>
              <description>
                <paramref name="value" /> was found.</description>
            </item>
            <item>
              <term> -1</term>
              <description>
                <paramref name="value" /> was not found.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <para> This method searches for the last occurrence of the
      specified <see cref="T:System.String" /> between the start of the string and the indicated index.</para>
          <para> This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference. <paramref name="" /></exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="startIndex" /> is less than zero or greater than or equal to the length of the current instance. </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="C#" Value="public int LastIndexOf (string value, StringComparison comparison);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="comparison" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="comparison">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(valuetype System.Char value, int32 startIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public int LastIndexOf (char value, int startIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Char" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">A Unicode character to locate.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the range of the current instance at which to end searching.</param>
        <summary>
          <para> Returns the index of the last occurrence of a specified character in the provided range of the current instance.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Int32" /> containing the index of the last occurrence of <paramref name="value" /> in the
   current instance if found between <paramref name="startIndex" /> and (<paramref name="startIndex" /> -
<paramref name="count" /> + 1); otherwise, -1.</para>
        </returns>
        <remarks>
          <para>This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="count" /> is less than zero.</para>
          <para> -or-</para>
          <para>
            <paramref name="startIndex" /> - <paramref name="count" /> is less than -1.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(string value, int32 startIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public int LastIndexOf (string value, int startIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="value">The substring to search for.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the range of the current instance at which to end searching.</param>
        <summary>
          <para>Returns the index of the last occurrence of a specified
   <see cref="T:System.String" />
   in the provided range of
   the current instance.</para>
        </summary>
        <returns>
   A <see cref="T:System.Int32" /> that indicates the result of the search for <paramref name="value" />
   in the current instance as follows:<list type="table"><listheader><term>Return Value</term><description>Description</description></listheader><item><term> A zero-based number equal to the index of the start of the last substring in
         the current instance that is equal to <paramref name="value" />
         .</term><description><paramref name="value" /> was found.</description></item><item><term> -1</term><description><paramref name="value" /> was not found.</description></item></list></returns>
        <remarks>
          <para>The search begins at <paramref name="startIndex" /> and continues
   until <paramref name="startIndex" /> - <paramref name="count" />
   + 1.</para>
          <para> This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value " />is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="count" /> is less than zero.</para>
          <para> -or-</para>
          <para>
            <paramref name="startIndex" /> - <paramref name="count" /> is smaller than -1.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="C#" Value="public int LastIndexOf (string value, int startIndex, StringComparison comparison);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="comparison" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="startIndex">To be added.</param>
        <param name="comparison">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="LastIndexOf">
      <MemberSignature Language="C#" Value="public int LastIndexOf (string value, int startIndex, int count, StringComparison comparison);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
        <Parameter Name="comparison" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="startIndex">To be added.</param>
        <param name="count">To be added.</param>
        <param name="comparison">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="LastIndexOfAny">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOfAny(class System.Char[] anyOf)" />
      <MemberSignature Language="C#" Value="public int LastIndexOfAny (char[] anyOf);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="anyOf" Type="System.Char[]" />
      </Parameters>
      <Docs>
        <param name="anyOf">An array of Unicode characters. </param>
        <summary>
          <para> Returns the index of the last occurrence of any element of a specified array of characters in the current instance.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> containing the index of the last occurrence of any element of
<paramref name="anyOf" /> in the current instance, if found; otherwise, -1.</para>
        </returns>
        <remarks>
          <para> This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="anyOf" /> is a null reference. </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOfAny">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOfAny(class System.Char[] anyOf, int32 startIndex)" />
      <MemberSignature Language="C#" Value="public int LastIndexOfAny (char[] anyOf, int startIndex);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="anyOf" Type="System.Char[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="anyOf">An array of Unicode characters. </param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching. </param>
        <summary>
          <para> Returns the index of the last occurrence of any element of a specified array of characters in the current instance.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> containing the index of the last occurrence of any element of <paramref name="anyOf" /> in the
   current instance, if found; otherwise, -1.</para>
        </returns>
        <remarks>
          <para> This method searches for the last occurrence of the specified
      characters between the start of the string and the indicated index.</para>
          <para>This method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="anyOf" /> is a null reference.<paramref name="" /></exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> is less than zero or greater than or equal to the length of the current instance.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="LastIndexOfAny">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOfAny(class System.Char[] anyOf, int32 startIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public int LastIndexOfAny (char[] anyOf, int startIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="anyOf" Type="System.Char[]" />
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="anyOf">An array of Unicode characters.</param>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start searching.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the range of the current instance at which to end searching.</param>
        <summary>
          <para> Returns the index of the last occurrence of any of specified characters in the provided range of the current instance.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Int32" /> containing the index of the last occurrence of any element of
<paramref name="anyOf" /> if found between <paramref name="startIndex" /> and (<paramref name="startIndex" /> -
<paramref name="count" /> + 1); otherwise, -1.</para>
        </returns>
        <remarks>
          <para>The search begins at <paramref name="startIndex" /> and continues
   until <paramref name="startIndex" /> - <paramref name="count" /> + 1. The character at
<paramref name="startIndex" /> - <paramref name="count" /> is not included 
   in the search.</para>
          <para> This
   method is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="anyOf" /> is a null reference.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="count" /> is less than zero.</para>
          <para> -or-</para>
          <para>
            <paramref name="startIndex" /> - <paramref name="count" /> is smaller than -1.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Length">
      <MemberSignature Language="ILASM" Value=".property int32 Length { public hidebysig specialname instance int32 get_Length() }" />
      <MemberSignature Language="C#" Value="public int Length { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para> Gets the number of characters in the current instance.</para>
        </summary>
        <value>
          <para>A <see cref="T:System.Int32" /> containing the number of characters in the current instance.</para>
        </value>
        <remarks>
          <para>This property is read-only.</para>
        </remarks>
        <example>
          <para>The following example demonstrates the <see cref="P:System.String.Length" /> property.</para>
          <code lang="C#">using System;
public class StringLengthExample {
 public static void Main() {
 string str = "STRING";
 Console.WriteLine( "The length of string {0} is {1}", str, str.Length );
 }
}
</code>
          <para>The output is</para>
          <para>
            <c>The length
   of string STRING is 6</c>
          </para>
        </example>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Normalize">
      <MemberSignature Language="C#" Value="public string Normalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Normalize">
      <MemberSignature Language="C#" Value="public string Normalize (System.Text.NormalizationForm form);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="form" Type="System.Text.NormalizationForm" />
      </Parameters>
      <Docs>
        <param name="form">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="op_Equality">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Equality(string a, string b)" />
      <MemberSignature Language="C#" Value="public static bool op_Equality (string a, string b);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="a" Type="System.String" />
        <Parameter Name="b" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="a">The first <see cref="T:System.String" /> to compare.</param>
        <param name="b">The second <see cref="T:System.String" /> to compare.</param>
        <summary>
          <para> Returns a <see cref="T:System.Boolean" /> value indicating whether the two
   specified string values are equal to
   each other.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if <paramref name="a" /> and <paramref name="b" />
represent the same string value; otherwise, <see langword="false" />.</para>
        </returns>
        <remarks>To be added.</remarks>
        <altmember cref="M:System.String.Equals(System.Object)" />
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="op_Inequality">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Inequality(string a, string b)" />
      <MemberSignature Language="C#" Value="public static bool op_Inequality (string a, string b);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="a" Type="System.String" />
        <Parameter Name="b" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="a">The first <see cref="T:System.String" /> to compare.</param>
        <param name="b">The second <see cref="T:System.String" /> to compare.</param>
        <summary>
          <para> Returns a <see cref="T:System.Boolean" /> value indicating whether the two string
   values are not equal to
   each other.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if <paramref name="a" /> and <paramref name="b" /> do not
   represent the same string value; otherwise, <see langword="false" />.</para>
        </returns>
        <remarks>To be added.</remarks>
        <altmember cref="M:System.String.Equals(System.Object)" />
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="PadLeft">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string PadLeft(int32 totalWidth)" />
      <MemberSignature Language="C#" Value="public string PadLeft (int totalWidth);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="totalWidth" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="totalWidth">A <see cref="T:System.Int32" /> containing the number of characters in the resulting string.</param>
        <summary>
          <para>Right-aligns the characters in the current instance, padding with spaces on the left,
      for a specified total length.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> that 
   is equivalent to the current instance right-aligned and padded on the left with as
   many spaces as needed to create a length of <paramref name="totalWidth" />. If <paramref name="totalWidth" /> is less than the length of the current instance, returns a new
<see cref="T:System.String" /> that is identical 
   to the current instance.</para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="note"> A space in Unicode
      format is defined as the hexadecimal value 0x20.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="totalWidth " /> is less than zero.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="PadLeft">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string PadLeft(int32 totalWidth, valuetype System.Char paddingChar)" />
      <MemberSignature Language="C#" Value="public string PadLeft (int totalWidth, char paddingChar);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="totalWidth" Type="System.Int32" />
        <Parameter Name="paddingChar" Type="System.Char" />
      </Parameters>
      <Docs>
        <param name="totalWidth">A <see cref="T:System.Int32" /> containing the number of characters in the resulting string. </param>
        <param name="paddingChar">A <see cref="T:System.Char" /> that specifies the padding character to use.</param>
        <summary>
          <para>Right-aligns the characters in the current instance, padding on the left with a specified
      Unicode character, for a specified total length.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> that is equivalent to the current instance right-aligned
   and padded on the left with as many <paramref name="paddingChar" /> characters as needed to
   create a length of <paramref name="totalWidth" /> . If <paramref name="totalWidth" /> is less than the length of the current
   instance, returns a new <see cref="T:System.String" /> that is identical
   to the current instance.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="totalWidth" /> is less than zero.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="PadRight">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string PadRight(int32 totalWidth)" />
      <MemberSignature Language="C#" Value="public string PadRight (int totalWidth);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="totalWidth" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="totalWidth">A <see cref="T:System.Int32" /> containing the number of characters in the resulting string.</param>
        <summary>
          <para>Left-aligns the characters in the current instance, padding with spaces on the right, for a
      specified total number of characters.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> that is equivalent to this instance left aligned and
   padded on the right with as many spaces as needed to create a length of
<paramref name="totalWidth" />. If <paramref name="totalWidth" /> is less than the length of the current
   instance, returns a new <see cref="T:System.String" /> that is identical
   to the current instance.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="totalWidth " />is less than zero.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="PadRight">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string PadRight(int32 totalWidth, valuetype System.Char paddingChar)" />
      <MemberSignature Language="C#" Value="public string PadRight (int totalWidth, char paddingChar);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="totalWidth" Type="System.Int32" />
        <Parameter Name="paddingChar" Type="System.Char" />
      </Parameters>
      <Docs>
        <param name="totalWidth">A <see cref="T:System.Int32" /> containing the number of characters in the resulting string. </param>
        <param name="paddingChar">A <see cref="T:System.Char" /> that specifies the padding character to use.</param>
        <summary>
          <para> Left-aligns the characters in the current instance, padding on the right with a specified Unicode character,
      for a specified total number of characters.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> that is equivalent to the current instance left aligned and
   padded on the right with as many <paramref name="paddingChar" /> characters as needed to
   create a length of <paramref name="totalWidth" />. If <paramref name="totalWidth" /> is less than the length of the current instance, returns a new
<see cref="T:System.String" /> that is identical 
   to the current instance.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="totalWidth" /> is less than zero.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Remove">
      <MemberSignature Language="C#" Value="public string Remove (int startIndex);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="startIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="startIndex">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Remove">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string Remove(int32 startIndex, int32 count)" />
      <MemberSignature Language="C#" Value="public string Remove (int startIndex, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the current instance from which to start deleting characters.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the number of characters to delete.</param>
        <summary>
          <para>Deletes a specified number of characters from the current
      instance beginning at a specified index.</para>
        </summary>
        <returns>
          <para> A new <see cref="T:System.String" /> that is equivalent to the current instance without the
   specified range characters.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="count" /> is less than zero.</para>
          <para> -or-</para>
          <para>
            <paramref name="startIndex" /> plus <paramref name="count" /> is greater than the length of the current instance.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Replace">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string Replace(valuetype System.Char oldChar, valuetype System.Char newChar)" />
      <MemberSignature Language="C#" Value="public string Replace (char oldChar, char newChar);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="oldChar" Type="System.Char" />
        <Parameter Name="newChar" Type="System.Char" />
      </Parameters>
      <Docs>
        <param name="oldChar">The Unicode character to be replaced. </param>
        <param name="newChar">The Unicode character to replace all occurrences of <paramref name="oldChar" />. </param>
        <summary>
          <para> Replaces all instances of a specified Unicode character
      with another specified Unicode character. </para>
        </summary>
        <returns>
          <para> A <see cref="T:System.String" /> equivalent to the current instance with all occurrences of
<paramref name="oldChar" /> replaced with <paramref name="newChar" />.</para>
        </returns>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Replace">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string Replace(string oldValue, string newValue)" />
      <MemberSignature Language="C#" Value="public string Replace (string oldValue, string newValue);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="oldValue" Type="System.String" />
        <Parameter Name="newValue" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="oldValue">A <see cref="T:System.String" /> containing the string value to be replaced. </param>
        <param name="newValue">A <see cref="T:System.String" /> containing the string value to replace all occurrences of <paramref name="oldValue" />. Can be a null reference. </param>
        <summary>
          <para>Replaces all instances of a specified substring within
      the current instance with another specified string. </para>
        </summary>
        <returns>
          <para> A <see cref="T:System.String" /> equivalent to the current instance with all occurrences of
<paramref name="oldValue" /> replaced with <paramref name="newValue" />. If the replacement value is a 
   null reference, the specified substring is removed.</para>
        </returns>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Split">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.String[] Split(class System.Char[] separator)" />
      <MemberSignature Language="C#" Value="public string[] Split (char[] separator);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="separator" Type="System.Char[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="separator">A <see cref="T:System.Char" /> array of delimiters. Can be a null reference.</param>
        <summary>
          <para>Returns substrings of the current instance that are
      delimited by the specified characters.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> array containing the results of the split operation as
   follows:</para>
          <list type="table">
            <listheader>
              <term>Return Value</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> A single-element array containing the
         current instance.</term>
              <description>None of the elements of <paramref name="separator" />
   are contained in the current instance.</description>
            </item>
            <item>
              <term> A
      multi-element <see cref="T:System.String" /> array, each element of which is a substring of the
      current instance that was delimited by one or more characters in
      <paramref name="separator." /></term>
              <description>At least one element of <paramref name="separator" /> is contained in the current
   instance.</description>
            </item>
            <item>
              <term>A multi-element <see cref="T:System.String" /> array, each
   element of which is a substring of the current instance that was delimited
   by white space characters.</term>
              <description>The current instance contains white space characters and
<paramref name="separator" /> is a null reference or an empty 
   array.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <para>
            <see cref="F:System.String.Empty" /> is returned for any substring where two delimiters are
   adjacent or a delimiter is found at the beginning or end of the current
   instance.</para>
          <para>Delimiter characters are not included in the
   substrings.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Split">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.String[] Split(class System.Char[] separator, int32 count)" />
      <MemberSignature Language="C#" Value="public string[] Split (char[] separator, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="separator" Type="System.Char[]" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="separator">An array of Unicode characters that delimit the substrings in the current instance, an empty array containing no delimiters, or a null reference.</param>
        <param name="count">A <see cref="T:System.Int32" /> containing the maximum number of array elements to return.</param>
        <summary>
          <para>Returns substrings of the current instance that are delimited by the specified characters. </para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> array containing the results of the split operation as
   follows:</para>
          <list type="table">
            <listheader>
              <term>Return Value</term>
              <description>Description</description>
            </listheader>
            <item>
              <term> A single-element array containing the
         current instance.</term>
              <description>None of the elements of <paramref name="separator" /> are
      contained in the current instance.</description>
            </item>
            <item>
              <term> A
      multi-element <see cref="T:System.String" /> array, each element of
      which is a substring of the current instance that was delimited by one or
      more characters in <paramref name="separator" /></term>
              <description>At least one element of <paramref name="separator" /> is
   contained in the current instance.</description>
            </item>
            <item>
              <term> A
      multi-element <see cref="T:System.String" /> array, each element of
      which is a substring of the current instance that was delimited by white
      space characters.</term>
              <description>The current instance contains white space
      characters and <paramref name="separator" /> is a null reference or an empty
      array.</description>
            </item>
          </list>
        </returns>
        <remarks>
          <para>
            <see cref="F:System.String.Empty" /> is returned for any substring where two delimiters are
   adjacent or a delimiter is found at the beginning or end of the current
   instance.</para>
          <para>Delimiter characters are not included in the
   substrings.</para>
          <para>If there are more substrings in the current instance than the
   maximum specified number, the first <paramref name="count" /> -1 elements of the array
   contain the first <paramref name="count" /> - 1 substrings. The remaining characters in the
   current instance are returned in the last element of the array.</para>
        </remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="count" /> is negative.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Split">
      <MemberSignature Language="C#" Value="public string[] Split (char[] separator, StringSplitOptions options);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="separator" Type="System.Char[]" />
        <Parameter Name="options" Type="System.StringSplitOptions" />
      </Parameters>
      <Docs>
        <param name="separator">To be added.</param>
        <param name="options">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Split">
      <MemberSignature Language="C#" Value="public string[] Split (string[] separator, StringSplitOptions options);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="separator" Type="System.String[]" />
        <Parameter Name="options" Type="System.StringSplitOptions" />
      </Parameters>
      <Docs>
        <param name="separator">To be added.</param>
        <param name="options">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Split">
      <MemberSignature Language="C#" Value="public string[] Split (char[] separator, int count, StringSplitOptions options);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="separator" Type="System.Char[]" />
        <Parameter Name="count" Type="System.Int32" />
        <Parameter Name="options" Type="System.StringSplitOptions" />
      </Parameters>
      <Docs>
        <param name="separator">To be added.</param>
        <param name="count">To be added.</param>
        <param name="options">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Split">
      <MemberSignature Language="C#" Value="public string[] Split (string[] separator, int count, StringSplitOptions options);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="separator" Type="System.String[]" />
        <Parameter Name="count" Type="System.Int32" />
        <Parameter Name="options" Type="System.StringSplitOptions" />
      </Parameters>
      <Docs>
        <param name="separator">To be added.</param>
        <param name="count">To be added.</param>
        <param name="options">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="StartsWith">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance bool StartsWith(string value)" />
      <MemberSignature Language="C#" Value="public bool StartsWith (string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="value">A <see cref="T:System.String" /> . </param>
        <summary>
          <para> Returns a <see cref="T:System.Boolean" /> value that indicates whether the start of the current instance
   matches the specified <see cref="T:System.String" />.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if the start of the current
   instance is equal to <paramref name="value" />; <see langword="false" /> if <paramref name="value" /> is
   not equal to the start of the current instance or is longer than the current
   instance.</para>
        </returns>
        <remarks>
          <para> This method compares <paramref name="value" /> with the substring
   at the start of the current instance that has a length of
<paramref name="value" />.Length. If <paramref name="value" />.Length is greater than the length of 
   the current instance or the relevant substring of the current instance is not
   equal to <paramref name="value" />, this method returns <see langword="false" />; otherwise,
   this method returns <see langword="true" />
   .
   </para>
          <para> The
   comparison is case-sensitive.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="value" /> is a null reference. </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="StartsWith">
      <MemberSignature Language="C#" Value="public bool StartsWith (string value, StringComparison comparisonType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="comparisonType" Type="System.StringComparison" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="comparisonType">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="StartsWith">
      <MemberSignature Language="C#" Value="public bool StartsWith (string value, bool ignoreCase, System.Globalization.CultureInfo culture);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
        <Parameter Name="ignoreCase" Type="System.Boolean" />
        <Parameter Name="culture" Type="System.Globalization.CultureInfo" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <param name="ignoreCase">To be added.</param>
        <param name="culture">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Substring">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string Substring(int32 startIndex)" />
      <MemberSignature Language="C#" Value="public string Substring (int startIndex);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="startIndex" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the start of the substring in the current instance.</param>
        <summary>
          <para> Retrieves a substring from the current instance, starting from a specified index.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> equivalent to the substring that begins at
<paramref name="startIndex" /> of the current 
   instance. Returns <see cref="F:System.String.Empty" />
   if <paramref name="startIndex" /> is equal to the length of the current instance.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="startIndex" /> is less than zero or greater than the length of the current instance.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Substring">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string Substring(int32 startIndex, int32 length)" />
      <MemberSignature Language="C#" Value="public string Substring (int startIndex, int length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the start of the substring in the current instance.</param>
        <param name="length">A <see cref="T:System.Int32" /> containing the number of characters in the substring.</param>
        <summary>
          <para> Retrieves a substring from the current instance, starting from a specified index, continuing for a specified
      length.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> containing the substring of the current instance with 
   the specified length that begins at the specified position. Returns <see cref="F:System.String.Empty" /> if <paramref name="startIndex" /> is equal to the length of
   the current instance and length is zero.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="length" /> is greater than the length of the current instance.</para>
          <para> -or-</para>
          <para>
            <paramref name="startIndex" /> or <paramref name="length" /> is less than zero.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="System.Collections.Generic.IEnumerable&lt;System.Char&gt;.GetEnumerator">
      <MemberSignature Language="C#" Value="System.Collections.Generic.IEnumerator&lt;char&gt; IEnumerable&lt;char&gt;.GetEnumerator ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.Generic.IEnumerator&lt;System.Char&gt;</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>This method is implemented to support the <see cref="T:System.Collections.Generics.IEnumerable&lt;System.Char&gt; " /> interface.</para>
        </summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="System.Collections.IEnumerable.GetEnumerator">
      <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.IEnumerator</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Implemented to support the <see cref="T:System.Collections.IEnumerable" /> interface. [Note: For more information, see <see cref="M:System.Collections.IEnumerable.GetEnumerator" />.]</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToBoolean">
      <MemberSignature Language="C#" Value="bool IConvertible.ToBoolean (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToByte">
      <MemberSignature Language="C#" Value="byte IConvertible.ToByte (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Byte</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToChar">
      <MemberSignature Language="C#" Value="char IConvertible.ToChar (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Char</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToDateTime">
      <MemberSignature Language="C#" Value="DateTime IConvertible.ToDateTime (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToDecimal">
      <MemberSignature Language="C#" Value="decimal IConvertible.ToDecimal (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Decimal</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToDouble">
      <MemberSignature Language="C#" Value="double IConvertible.ToDouble (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToInt16">
      <MemberSignature Language="C#" Value="short IConvertible.ToInt16 (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int16</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToInt32">
      <MemberSignature Language="C#" Value="int IConvertible.ToInt32 (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToInt64">
      <MemberSignature Language="C#" Value="long IConvertible.ToInt64 (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToSByte">
      <MemberSignature Language="C#" Value="sbyte IConvertible.ToSByte (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.SByte</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToSingle">
      <MemberSignature Language="C#" Value="float IConvertible.ToSingle (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Single</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToType">
      <MemberSignature Language="C#" Value="object IConvertible.ToType (Type conversionType, IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="conversionType" Type="System.Type" />
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="conversionType">To be added.</param>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToUInt16">
      <MemberSignature Language="C#" Value="ushort IConvertible.ToUInt16 (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt16</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToUInt32">
      <MemberSignature Language="C#" Value="uint IConvertible.ToUInt32 (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.IConvertible.ToUInt64">
      <MemberSignature Language="C#" Value="ulong IConvertible.ToUInt64 (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt64</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ToCharArray">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Char[] ToCharArray()" />
      <MemberSignature Language="C#" Value="public char[] ToCharArray ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Char[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Copies the characters in the current instance to a Unicode character array. </para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Char" /> 
array whose elements are the individual characters of
the current instance. If the current instance is an empty string, the array returned by this method is empty
and has a zero length.</para>
        </returns>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="ToCharArray">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Char[] ToCharArray(int32 startIndex, int32 length)" />
      <MemberSignature Language="C#" Value="public char[] ToCharArray (int startIndex, int length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Char[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="startIndex" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="startIndex">A <see cref="T:System.Int32" /> containing the index of the start of a substring in the current instance. </param>
        <param name="length">A <see cref="T:System.Int32" /> containing the length of the substring in the current instance. </param>
        <summary>
          <para>Copies the characters in a specified substring in the current instance to a Unicode character array. </para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Char" /> array whose elements are the
<paramref name="length" /> number of characters in the current instance, starting from the
   index <paramref name="startIndex" /> in the current instance. If the specified length is
   zero, the entire string is copied starting from the beginning of the current
   instance, and ignoring the value of <paramref name="startIndex" />. If the current instance
   is an empty string, the returned array is empty and has a zero length.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <para>
            <paramref name="startIndex" /> or <paramref name="length" /> is less than zero. </para>
          <para> -or- </para>
          <para>
            <paramref name="startIndex" /> plus <paramref name="length" /> is greater than the length of the current instance. </para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="ToLower">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToLower()" />
      <MemberSignature Language="C#" Value="public string ToLower ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Returns a copy of this <see cref="T:System.String" /> in lowercase.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.String" /> in lowercase..</para>
        </returns>
        <remarks>
          <para> This method takes into account the culture (if any) of the current thread.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="ToLower">
      <MemberSignature Language="C#" Value="public string ToLower (System.Globalization.CultureInfo culture);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="culture" Type="System.Globalization.CultureInfo" />
      </Parameters>
      <Docs>
        <param name="culture">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ToLowerInvariant">
      <MemberSignature Language="C#" Value="public string ToLowerInvariant ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ToString()" />
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Returns a <see cref="T:System.String" /> representation of the value
   of the current instance.</para>
        </summary>
        <returns>
          <para>The current <see cref="T:System.String" />.</para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.ToString" />.</block>
          </para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)" />
      <MemberSignature Language="C#" Value="public string ToString (IFormatProvider provider);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="provider" Type="System.IFormatProvider" />
      </Parameters>
      <Docs>
        <param name="provider">(Reserved) A <see cref="T:System.IFormatProvider" /> interface implementation which supplies culture-specific formatting information.</param>
        <summary>
          <para>Returns this instance of <see langword="String" />; no
   actual conversion is performed.</para>
        </summary>
        <returns>
          <para>This <see langword="String" />.</para>
        </returns>
        <remarks>
          <para>
            <paramref name="provider" /> is reserved, and does not
   currently participate in this operation.</para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="ToUpper">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToUpper()" />
      <MemberSignature Language="C#" Value="public string ToUpper ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Returns a copy of the current instance with all elements
      converted to
      uppercase, using default properties.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> 
in uppercase.</para>
        </returns>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="ToUpper">
      <MemberSignature Language="C#" Value="public string ToUpper (System.Globalization.CultureInfo culture);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="culture" Type="System.Globalization.CultureInfo" />
      </Parameters>
      <Docs>
        <param name="culture">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ToUpperInvariant">
      <MemberSignature Language="C#" Value="public string ToUpperInvariant ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version=".NET 2.0" />
      </Docs>
    </Member>
    <Member MemberName="Trim">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string Trim()" />
      <MemberSignature Language="C#" Value="public string Trim ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para> Removes all occurrences of white space characters from the beginning and
      end of the current instance.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> equivalent to the current instance after
   white space characters
   are removed from its
   beginning and end.</para>
        </returns>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Trim">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string Trim(class System.Char[] trimChars)" />
      <MemberSignature Language="C#" Value="public string Trim (char[] trimChars);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="trimChars" Type="System.Char[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="trimChars">An array of Unicode characters. Can be a null reference.</param>
        <summary>
          <para> Removes all occurrences of a set of characters provided
      in a character <see cref="T:System.Array" /> from the beginning and
      end of the current instance.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> equivalent to the current instance with the characters
   in <paramref name="trimChars" /> removed from its beginning and end. If <paramref name="trimChars" />
   is a null reference, all of the white space characters are removed from the
   beginning and end of
   the current instance.</para>
        </returns>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="TrimEnd">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string TrimEnd(class System.Char[] trimChars)" />
      <MemberSignature Language="C#" Value="public string TrimEnd (char[] trimChars);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="trimChars" Type="System.Char[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="trimChars">An array of Unicode characters. Can be a null reference.</param>
        <summary>
          <para> Removes all occurrences of a set of characters specified
      in a Unicode character <see cref="T:System.Array" /> from the
      end of the current instance.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> equivalent to the current instance with characters in
<paramref name="trimChars" /> removed from its end. If <paramref name="trimChars" /> is a null reference, white space
   characters are removed.</para>
        </returns>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="TrimStart">
      <MemberSignature Language="ILASM" Value=".method public hidebysig instance string TrimStart(class System.Char[] trimChars)" />
      <MemberSignature Language="C#" Value="public string TrimStart (char[] trimChars);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="trimChars" Type="System.Char[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="trimChars">An array of Unicode characters or a null reference.</param>
        <summary>
          <para> Removes all occurrences of a set of characters specified in a Unicode character array from the
      beginning of the current instance.</para>
        </summary>
        <returns>
          <para>A new <see cref="T:System.String" /> equivalent to the current instance with the characters
   in <paramref name="trimChars" /> removed from its beginning. If <paramref name="trimChars" /> is a
   null reference, white space
   characters are removed.</para>
        </returns>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>
