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
Implements
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 .
|
Overrides
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.
|
Implements
Compute a hash code for the string. Equivalent to string.GetHashCode
.
Declaration
public override int GetHashCode()
Returns
Type |
Description |
Int32 |
A hash code.
|
Overrides
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
Overrides
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