diff --git a/src/Lucene.Net/Util/UnmanagedStringArray.cs b/src/Lucene.Net/Util/UnmanagedStringArray.cs index abdd520701..fcf140f43e 100644 --- a/src/Lucene.Net/Util/UnmanagedStringArray.cs +++ b/src/Lucene.Net/Util/UnmanagedStringArray.cs @@ -89,7 +89,7 @@ public struct UnmanagedString : IComparable { public byte* Start; - public int Size => IsNull ? 0 : (*(int*)Start >> 1); + public int Size => *(int*)Start >> 1; public bool StoredAsAscii => (*(int*)Start & 1) == 1; public Span StringAsBytes => new Span(Start + sizeof(int), Size); public Span StringAsChars => new Span(Start + sizeof(int), Size); @@ -97,6 +97,9 @@ public struct UnmanagedString : IComparable public override string ToString() { + if (IsNull) + return string.Empty; + return StoredAsAscii ? Encoding.UTF8.GetString(StringAsBytes) : new string(StringAsChars); }