Wraps around a string to allow for faster case-insensitive string comparisons while
preserving original casing.
    public struct InternedString : IEquatable<InternedString>, IComparable<InternedString>
   
  
  
  Constructors
  
  
  
  
  
  Initialize the InternedString with the given string. Except if the string is null
or empty, this requires an internal lookup (this is the reason the conversion from string
to InternedString is not implicit).
Declaration
  
    public InternedString(string text)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | String | text | A string. Can be null. | 
    
  
  
  
  Properties
  
  
  
  
  
  Length of the string in characters. Equivalent to string.Length.
Declaration
  
    public int length { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | Int32 | Length of the string. | 
    
  
  Methods
  
  
  
  
  
  
  
  Declaration
  
    public int CompareTo(InternedString other)
   
  Parameters
  
  Returns
  
  
  
  
  
  Compare the InternedString to given object.
Declaration
  
    public override bool Equals(object obj)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Object | obj | An object. If it is a string, performs a string comparison. If
it is an InternedString, performs an InternedString-comparison. Otherwise returns false. | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | Boolean | True if the InternedString is equal to obj. | 
    
  
  
  
  
  
  Compare two InternedStrings for equality. They are equal if, ignoring case and culture,
their text is equal.
Declaration
  
    public bool Equals(InternedString other)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | Boolean | True if the two InternedStrings are equal. | 
    
  
  
  
  
  
  
  
  Compute a hash code for the string. Equivalent to string.GetHashCode.
Declaration
  
    public override int GetHashCode()
   
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | Int32 | A hash code. | 
    
  
  
  
  
  
  Whether the string is empty, i.e. has a length of zero. If so, the
InternedString corresponds to default(InternedString).
Declaration
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | Boolean | True if the string is empty. | 
    
  
  
  
  
  
  Return a lower-case version of the string.
Declaration
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | String | A lower-case version of the string. | 
    
  
  
  
  
  
  
  
  
  
  Declaration
  
    public override string ToString()
   
  Returns
  
  Operators
  
  
  
  
  
  
  
  Declaration
  
    public static bool operator ==(string a, InternedString b)
   
  Parameters
  
  Returns
  
  
  
  
  
  
  
  Declaration
  
    public static bool operator ==(InternedString a, string b)
   
  Parameters
  
  Returns
  
  
  
  
  
  
  
  Declaration
  
    public static bool operator ==(InternedString a, InternedString b)
   
  Parameters
  
  Returns
  
  
  
  
  
  
  
  Declaration
  
    public static bool operator>(InternedString left, InternedString right)
   
  Parameters
  
  Returns
  
  
  
  
  
  Convert the given InternedString back to a string. Equivalent to ToString().
Declaration
  
    public static implicit operator string (InternedString str)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | String | A string. | 
    
  
  
  
  
  
  
  
  Declaration
  
    public static bool operator !=(string a, InternedString b)
   
  Parameters
  
  Returns
  
  
  
  
  
  
  
  Declaration
  
    public static bool operator !=(InternedString a, string b)
   
  Parameters
  
  Returns
  
  
  
  
  
  
  
  Declaration
  
    public static bool operator !=(InternedString a, InternedString b)
   
  Parameters
  
  Returns
  
  
  
  
  
  
  
  Declaration
  
    public static bool operator <(InternedString left, InternedString right)
   
  Parameters
  
  Returns