Class CharsRef
Represents char[], as a slice (offset + Length) into an existing char[].
The Chars property should never be null
; use
EMPTY_CHARS if necessary.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Inherited Members
Namespace: Lucene.Net.Util
Assembly: Lucene.Net.dll
Syntax
[Serializable]
public sealed class CharsRef : IComparable<CharsRef>, ICharSequence, IEquatable<CharsRef>
Constructors
CharsRef()
Creates a new CharsRef initialized an empty array zero-Length
Declaration
public CharsRef()
CharsRef(char[], int, int)
Creates a new CharsRef initialized with the given chars
,
offset
and length
.
Declaration
public CharsRef(char[] chars, int offset, int length)
Parameters
Type | Name | Description |
---|---|---|
char[] | chars | |
int | offset | |
int | length |
CharsRef(int)
Creates a new CharsRef initialized with an array of the given
capacity
.
Declaration
public CharsRef(int capacity)
Parameters
Type | Name | Description |
---|---|---|
int | capacity |
CharsRef(string)
Declaration
public CharsRef(string @string)
Parameters
Type | Name | Description |
---|---|---|
string | string |
Fields
EMPTY_CHARS
An empty character array for convenience
Declaration
public static readonly char[] EMPTY_CHARS
Field Value
Type | Description |
---|---|
char[] |
Properties
Chars
The contents of the CharsRef. Should never be null
.
Declaration
public char[] Chars { get; set; }
Property Value
Type | Description |
---|---|
char[] |
this[int]
Gets the character at the specified index, with the first character having index zero.
Declaration
public char this[int index] { get; }
Parameters
Type | Name | Description |
---|---|---|
int | index | The index of the character to return. |
Property Value
Type | Description |
---|---|
char | The requested character. |
Exceptions
Type | Condition |
---|---|
IndexOutOfRangeException | If |
InvalidOperationException | If the underlying value of this sequence is |
Length
Length of used characters.
Declaration
public int Length { get; set; }
Property Value
Type | Description |
---|---|
int |
Offset
Offset of first valid character.
Declaration
public int Offset { get; }
Property Value
Type | Description |
---|---|
int |
UTF16SortedAsUTF8Comparer
Represents char[], as a slice (offset + Length) into an existing char[].
The Chars property should never be null
; use
EMPTY_CHARS if necessary.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
[Obsolete("this comparer is only a transition mechanism")]
public static IComparer<CharsRef> UTF16SortedAsUTF8Comparer { get; }
Property Value
Type | Description |
---|---|
IComparer<CharsRef> |
Methods
Append(char[], int, int)
Appends the given array to this CharsRef.
Declaration
public void Append(char[] otherChars, int otherOffset, int otherLength)
Parameters
Type | Name | Description |
---|---|---|
char[] | otherChars | |
int | otherOffset | |
int | otherLength |
CharsEquals(CharsRef)
Represents char[], as a slice (offset + Length) into an existing char[].
The Chars property should never be null
; use
EMPTY_CHARS if necessary.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
public bool CharsEquals(CharsRef other)
Parameters
Type | Name | Description |
---|---|---|
CharsRef | other |
Returns
Type | Description |
---|---|
bool |
Clone()
Returns a shallow clone of this instance (the underlying characters are not copied and will be shared by both the returned object and this object.
Declaration
public object Clone()
Returns
Type | Description |
---|---|
object |
See Also
CompareTo(CharsRef)
Signed int order comparison
Declaration
public int CompareTo(CharsRef other)
Parameters
Type | Name | Description |
---|---|---|
CharsRef | other |
Returns
Type | Description |
---|---|
int |
CopyChars(CharsRef)
Copies the given CharsRef referenced content into this instance.
Declaration
public void CopyChars(CharsRef other)
Parameters
Type | Name | Description |
---|---|---|
CharsRef | other | The CharsRef to copy. |
CopyChars(char[], int, int)
Copies the given array into this CharsRef.
Declaration
public void CopyChars(char[] otherChars, int otherOffset, int otherLength)
Parameters
Type | Name | Description |
---|---|---|
char[] | otherChars | |
int | otherOffset | |
int | otherLength |
DeepCopyOf(CharsRef)
Creates a new CharsRef that points to a copy of the chars from
other
.
other.Length
and an offset of zero.
Declaration
public static CharsRef DeepCopyOf(CharsRef other)
Parameters
Type | Name | Description |
---|---|---|
CharsRef | other |
Returns
Type | Description |
---|---|
CharsRef |
Equals(object)
Determines whether the specified object is equal to the current object.
Declaration
public override bool Equals(object other)
Parameters
Type | Name | Description |
---|---|---|
object | other |
Returns
Type | Description |
---|---|
bool | true if the specified object is equal to the current object; otherwise, false. |
Overrides
GetHashCode()
Serves as the default hash function.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int | A hash code for the current object. |
Overrides
Grow(int)
Used to grow the reference array.
In general this should not be used as it does not take the offset into account.Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
public void Grow(int newLength)
Parameters
Type | Name | Description |
---|---|---|
int | newLength |
IsValid()
Performs internal consistency checks. Always returns true (or throws InvalidOperationException)
Declaration
public bool IsValid()
Returns
Type | Description |
---|---|
bool |
Subsequence(int, int)
Retrieves a sub-sequence from this instance. The sub-sequence starts at a specified character position and has a specified length.
IMPORTANT: This method has .NET semantics, that is, the second parameter is a length, not an exclusive end index as it would be in Java. To translate from Java to .NET, callers must account for this by subtracting (end - start) for thelength
.
Declaration
public ICharSequence Subsequence(int startIndex, int length)
Parameters
Type | Name | Description |
---|---|---|
int | startIndex | The start index of the sub-sequence. It is inclusive, that is, the index of the first character that is included in the sub-sequence. |
int | length | The number of characters to return in the sub-sequence. |
Returns
Type | Description |
---|---|
ICharSequence |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException |
startIndex or length is less than zero.
|
ToString()
Returns a string that represents the current object.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string | A string that represents the current object. |