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 readonly 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